<SEC-DOCUMENT>0000851205-22-000019.txt : 20220802
<SEC-HEADER>0000851205-22-000019.hdr.sgml : 20220802
<ACCEPTANCE-DATETIME>20220802160706
ACCESSION NUMBER:		0000851205-22-000019
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		92
CONFORMED PERIOD OF REPORT:	20220703
FILED AS OF DATE:		20220802
DATE AS OF CHANGE:		20220802

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COGNEX CORP
		CENTRAL INDEX KEY:			0000851205
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823]
		IRS NUMBER:				042713778
		STATE OF INCORPORATION:			MA
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34218
		FILM NUMBER:		221128695

	BUSINESS ADDRESS:	
		STREET 1:		ONE VISION DR
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
		BUSINESS PHONE:		5086503000

	MAIL ADDRESS:	
		STREET 1:		ONE VISION DRIVE
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>cgnx-20220703.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2022 Workiva--><!--r:99bc1a8f-2526-451f-973a-aa9140899242,g:fd3f35d6-c9ff-45b5-af84-3b0a27fd2c28,d:439287817ac64be482e2ddc02068aa40--><html xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:cgnx="http://www.cognex.com/20220703" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns="http://www.w3.org/1999/xhtml" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>cgnx-20220703</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV8xLTItMS0xLTY2OTA0_ad604927-a64d-4617-b9ac-1c4e505d1aed">0000851205</ix:nonNumeric><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:CurrentFiscalYearEndDate" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV8yLTItMS0xLTY2OTA0_632b43f3-10a1-4348-bd2c-40b75b207c78">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV8zLTItMS0xLTY2OTA0_3cb5287c-048b-448e-8f78-d69c73e367f0">2022</ix:nonNumeric><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV80LTItMS0xLTY2OTA0_412b76a0-043b-4923-a061-e98bca0efbae">Q2</ix:nonNumeric><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:AmendmentFlag" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV81LTItMS0xLTY2OTA0_6159f8cc-0a47-47e0-917f-7a8796436d4f">false</ix:nonNumeric><ix:nonNumeric contextRef="i28ed6cec8b094d89823d280154c17a76_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDYz_479ba460-4060-4086-876a-0865345b6fc3">P4Y</ix:nonNumeric><ix:nonNumeric contextRef="i84f2b0541591402fab4b7d4cbca3e2ec_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTYy_f863b510-2a78-488d-8403-50be5577f26c">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="i84f2b0541591402fab4b7d4cbca3e2ec_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjMx_51c90430-0b7a-490b-80b1-cce809ba937e">P3Y</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="cgnx-20220703.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0120f99de321420e9573cf8bde1062c4_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i194e427ca3d340af80848fb3854e8ef7_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5c51190f418d4624a1ced49cafff6754_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i987af0567ae743cca6c3024e14eb819b_I20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-07-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i32c95cd61a0d4856bdd854de3e2841ca_I20220403"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie8ea09e451f442428698bdda60de1f63_I20220403"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i88fa227af48e41399ad43596248d1f1d_I20220403"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic7de6eae4aa146cf97b1a520164bcd39_I20220403"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i739e123723424159b09a3135b61420a3_I20220403"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-04-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i729bb94dfa1f44948ab9ff09a58d086c_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3f63dadcfebf4547bc8ce410833b853a_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i51449fbdc5674ff2849fb7e1008e0725_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia063d6ebf39046338805f902de09ece7_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id921fb2e59bf4a56a4ac20326a5d1b67_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i518b4487112b4961b7947ef3908a67b3_I20210404"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5ace0e76e3f948ff891a65aa0da45a61_I20210404"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i83a98c21a59842379e15b3f946a2e1a6_I20210404"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id29b49dd1d86487bba49667b83a6b115_I20210404"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i63b6b28dd0af4a31bd162a966a337480_I20210404"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-04-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if8e3797e3b8d49f6a9e6801f7f9b21b5_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib4947ca801e140829772591d5172fdc4_I20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i00d322987b81436693ab321e89e4326c_I20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id5cba2ed375146ad91d7307545b63c80_I20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0bc15bc08fc145b2a6b4cfb556ab1824_I20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ife8ea1ce918d44c09f1ac4b4b89490ba_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i425d0838bc894e67bebedc750c61ad9c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3de2b9b179b34515967701a54e4d1bb8_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie1b60b328835444ba7edf4132f25d071_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id3bf99c177844901b393b16edd9d925e_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i948e0aec57804f7ca76f62c5c0504c65_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifb86921fa79b45458d499304d03ce1dc_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i876a2cc96328468bb85cd46eb074fd08_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i33abd1cff3a34debb7905724afbe1d51_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ieacc184623134bd7b7d06618f6706333_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3a16d4b0e1b0474cad19d38781816a46_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0360ee575d9e4e86a0f47ae967c21213_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if757f38f5bdd4c939d049d87a95ac59c_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic4ea99863df44db7aea0439c7419ae6f_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id81ee529a1314ca3934d96b838a5ea94_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie008d184b61246e58c1233ccc0c7b409_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i77f4cad60bfb4a29b34b64cb4a574ae6_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8ed35f25c979426da39ab75c7c9b65ac_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i89f526d469034bf092990480cd44610b_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i03287ddc4b1e4a2d9a1b4b116aed7bd1_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i14f7ade48dd54ff9ab5002d2356dfaa1_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic35b7db1aa71474aaacaf2aac2fbe17a_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i92f7d65fd1294f6684660a2833f6f67a_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i900d6293cd6a4957a9c87db519f706e2_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0133b6a15012403c9aae6b02d26c2e76_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli: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></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i981d4f1eccab456885f61e1d738832ac_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3e4fb536e6844ec69ddacc2e35b4e58f_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i684a6e1d7eee441cb8946daac707f994_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i26f8465ff4884c99b77e93ad07d51a88_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9eae83011fcf441195104bd4730e5860_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if655ab2146f949938f1537cc89b9f5df_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3c1b7f60bfd648e6835f8baadffaaca3_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3185613bcd024576a3d64e9e02161f8e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1386388acc254a53b261cd51f0b27108_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iab5936e583b74fb4b0603159a8da7d6a_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie7fa7e149f9342268a593002c6c0481a_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i81fa8af1f8ee45db904a3f8ea5d82771_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3b3bbfecc52f45bebb2ee45673bba91f_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i79ea79df485441d3a01bc5840570243f_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia019108500434dc69ff1453b0ebb35f5_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7d2515138f594eb6849e8e06fa3d1a95_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iebf72c394fea4a13937203b515e00a0f_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i62da00452b0f40d1b875dc023ea2fd11_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4f48083c39c247418c8ebf025083b62e_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i941a929dd1904e5db2765c1c20361836_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id88631cb785544b99b23d6a5d866de5f_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6d717bee1e5841b5a4929e49d8b89926_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i838e088964e04214af67aab7ae8bee29_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id89647d516424703a73aa6bba2954718_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if3eac359d8944078829b16ee8b107930_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifa97cca7645743f6b056c6140a2f06e7_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:SouthboroughMassachusettsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="sqft"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit><xbrli:context id="ie8a64f61a7004c7b8795ce620fc86977_D20211201-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:SouthboroughMassachusettsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iac666983932948cd872e2d0e4c2742dc_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:SouthboroughMassachusettsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1074b83bca3f47639e15d262f3898cbd_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibb6e178c62544e5d91c891b5e078d005_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie2fe481adc6e49f99e921e5b247ce660_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i096756e1b1c44408beb972c46a48e5b0_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic65a1926b14248a4a5e94b0f208eefbe_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i11939350145f4d89bbda184bdcff696d_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6bc61925e198478189818d2c0a656787_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icc28cdcff7d54a05a89b9ec624e65bff_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5ed2d698c5654399a4ae6621b9ba3d32_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9fa85bdefdff42b182c42ff1a49c0610_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="eur"><xbrli:measure>iso4217:EUR</xbrli:measure></xbrli:unit><xbrli:context id="ifdbdd17085324d549fa107fc051eee2a_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia2373098eccd4042913f057bdac9f573_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="cny"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit><xbrli:context id="ia7bd15dac48b41a5aafff143d3d3b990_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CNY</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i16449076a6654af28335ac2a8cab60f3_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:MXN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="mxn"><xbrli:measure>iso4217:MXN</xbrli:measure></xbrli:unit><xbrli:context id="i9b2ffed476df4579bbcc38a25e1d8db9_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:MXN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7524ddb9ea03422a9e7e2ebbea77de0a_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:JPY</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="jpy"><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unit><xbrli:context id="i694f091dcec34812bad0480464436d7e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:JPY</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i342a922d9dc945a18b79c96091725dbe_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:GBP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="gbp"><xbrli:measure>iso4217:GBP</xbrli:measure></xbrli:unit><xbrli:context id="i49f516875e854bad8e4721d0f3ca17ec_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:GBP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i836accfb1dd045f7b2f92c71a31a58dc_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:HUF</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="huf"><xbrli:measure>iso4217:HUF</xbrli:measure></xbrli:unit><xbrli:context id="i16d30d88657e4f6fa4e81e6bf35d1667_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:HUF</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4c3c2ddb2e4f4ea28a57f2f21cf87318_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KRW</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="krw"><xbrli:measure>iso4217:KRW</xbrli:measure></xbrli:unit><xbrli:context id="i70b292f313584022a002a1ecdb38404c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KRW</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idda92086fdb9495aab36454165488471_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CAD</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="cad"><xbrli:measure>iso4217:CAD</xbrli:measure></xbrli:unit><xbrli:context id="i79fff7c6f7fd44179dd1404b9e10abd4_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:CAD</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia01ad5e1b05d46d98499861900f21876_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia6e6eeba1e7e4dd0ae015dd36d06a158_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i67a2d9e07ca9441c89ab9480183f02ce_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0c76d424fd3d4d51b9e63fe42350111e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i18e6ad545650414ba0427bb15f1f40ed_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i176845b2165d4c1c901c94617d33fad0_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7fa5c02f551b4853a9ded76fc71fbb81_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1272258b978247acad7cabc4e78fe7f3_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id4f60b94102045c6ad876f25645533fe_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5e00f0f2c2a9479fb066f3d76f8a2c84_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i777b159c8c91485d8eb5cb5873eb63b5_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i95cc2e2c61c641eba1a24245b544a319_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5bd033c483ca483eaac86097ba325f9e_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia6f5c8235eff4f5989c9928eaa8b4c8e_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id8590e74013144c096fe7894310c039a_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3bacc758d8af43adb630bc7b3e695554_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i44a323570a09492eb9272094386565b0_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i818f46ae4a814e8cb204092b2c400112_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2adf86e363104a67a322b83f32ddb221_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i02a9248fc6ed45c1bc7e6a58688914bf_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i771400f31d514be59ce14adb1d6bd67b_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2138393603c64ae789977c365f3dbd67_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0b77a45a38054361bcd9f10ab8bd4790_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i28af0bfc503d464a8bef9493117c1298_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7a8bd57825f24189a82dd02689b07a55_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i150e9eb565d14f4186103419982ce020_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic15a144c421442a39f97514efaaef2d9_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0140928aa4fb4494a1b8065f16095c6a_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8e33f30c2a3546e3b5dc6c1e8b2fecfc_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie716208e6b8a4ee2aa85f512b7063433_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iad1acd10cd6c4dcfbfda07e457ab8a11_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iba9d5c6fad14402da663de45347311a7_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i50b08d1bb8224935990751e82757056b_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i28ed6cec8b094d89823d280154c17a76_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibae5c310637e4bfa9f95ec32256ec6c0_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3426b909ccd04c8ba713ede457d177a9_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i84f2b0541591402fab4b7d4cbca3e2ec_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i750305d77ecc41889121d69470997f2c_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1613c9c9faae42a490bda25821a1c269_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i207553719b9c4b88983ad68e6a92538b_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0b7030e870764aa496f7be238c1eca5e_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i75767adc6b334abc8f04169990c2b850_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i351e44c9bf1043498601933e91a3022e_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i44cc039320e1443e9eb41f3f97d5f0c6_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifd0589fc43f04e318abb7b2b79b0f048_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia28ded5e06694c1eae5547d10145a791_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibf24b603aaa2464b8d5c19ef0ef97e34_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i71d5b0c487574779b5e655e0664db1a9_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="group"><xbrli:measure>cgnx:group</xbrli:measure></xbrli:unit><xbrli:context id="i42059a6f763e44de9fd3f1dc1ae818ae_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8b194c1428cc4cc3a049747722c7dbad_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9ef24690ee624002b1e38e47c666a2b1_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i24623843aab94e8490eca1b8e6802b2e_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfGoodsTotalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i16e9aa4c43284b06a6bf707e53fc421b_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i06b5ba8490b84cd2a46add82788b3311_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id78527f3e5b14eac8e241989a2b143af_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id1bff5b758f442518f0e0a460097e012_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i31eea51c97224657b3b10d8f8987614e_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id88af386d5a5435180d92d01e15ece8c_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icf547b2babc04b978f280624150cb111_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6693853fc15e47d387c2d4dde38dc6b4_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3fc1b579c763483f89e053ac4c3b765a_I20200312"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib0d6310e188344299286abcdb9ee4c7f_D20211004-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ieac909b07de44bd78250f0bd7b3862bd_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8d82b56df1dc4c1e9bf6f07262e9e5cb_I20220303"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idcc952b09a794344b7281af15824c4f8_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i05d2bb8b24d44451bd6b8bf8f694262a_I20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-07-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iff9cb7e0db364d3c9ebc9afd22a27fea_D20220101-20220403"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-04-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if1f28032030149629ea887977930b17f_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:RevenueCommissionersIrelandMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i26703be43d194ff3bf2447a906d96b4b_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:StateAdministrationOfTaxationChinaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i347cee071f5e4f9aa3d8b3aaae04bf06_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">country:KP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3bc52906d54b41dd9921df05814d6f99_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8e6b59647e2146019e00324651aeced5_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia8e6091c580a4d358cd24380f089296c_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0bd75fa5c10f487c84cc3aa90a628adf_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib1d1c6cb6bd84b09bfdc6915cafe0810_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia8407e06f9f04c1b8e10743d2acb88ff_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i67659c71dc044f0c8d56d979deb57d82_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic95019c016be45aba7f5e3731a1c89c3_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i090d24bbbe26480daa0af82355e528d5_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2221882fbb26469788afb36f06c90c29_D20220404-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-04</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if5634baab7934f40b849dfe86c5fe611_D20220101-20220703"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-07-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i349d802412c84b77b0baa6b5a8bd9c06_D20210405-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-05</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i50ca9cb4d6094e4ab253b56ba18f095e_D20210101-20210704"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-07-04</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-07</xbrli:startDate><xbrli:endDate>2022-06-07</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i61ce873236814a3fa8823db347733f60_D20220802-20220802"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-02</xbrli:startDate><xbrli:endDate>2022-08-02</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i439287817ac64be482e2ddc02068aa40_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:4pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.222%"><tr><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="15" style="border-bottom:3pt double #000000;padding:0 1pt"></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">WASHINGTON, D.C. 20549</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:22pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODAy_58139212-3da8-4907-ae62-41430bf2115c">10-Q</ix:nonNumeric></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:22pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">(Mark One)</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.124%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.676%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:DocumentQuarterlyReport" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzM2ZDdkMGZhODE1NDRhODhlOGNhN2Y3M2ZhNGRkODUvdGFibGVyYW5nZTozMzZkN2QwZmE4MTU0NGE4OGU4Y2E3ZjczZmE0ZGQ4NV8wLTAtMS0xLTY2OTA0_f1c2d81b-c9a4-4176-99a9-822363295156">&#9746;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Quarterly Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the quarterly period ended July 3, 2022 or</span></td></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.124%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.676%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6OGZkNTQ1NjNlNTU5NGUwNjgyYTM2YjMwZjcyNjYzMmYvdGFibGVyYW5nZTo4ZmQ1NDU2M2U1NTk0ZTA2ODJhMzZiMzBmNzI2NjMyZl8wLTAtMS0xLTY2OTA0_346d5305-da30-47a9-a43b-2c5c0c035ddd">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Transition Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the transition period from __________ to __________</span></td></tr></table></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Commission File Number <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODAz_245c512e-db9b-48d8-935e-091fb73192de">001-34218</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:17pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA2_fc488d9b-e2c1-4ce9-a424-c326eef352f4">COGNEX CORP</ix:nonNumeric>ORATION</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:323.25pt"><tr><td style="width:1.0pt"></td><td style="width:321.25pt"></td><td style="width:1.0pt"></td></tr><tr style="height:11pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(Exact name of registrant as specified in its charter)</span></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.304%"><tr><td style="width:1.0%"></td><td style="width:47.629%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.340%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.631%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6ZDZkZTBkZDBkYWNmNDVkZDg5ZGYyMjc1ZDk2ZTlmM2QvdGFibGVyYW5nZTpkNmRlMGRkMGRhY2Y0NWRkODlkZjIyNzVkOTZlOWYzZF8wLTAtMS0xLTY2OTA0_cbd0930d-babb-4f03-9d64-59cc8af7ac21">Massachusetts</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6ZDZkZTBkZDBkYWNmNDVkZDg5ZGYyMjc1ZDk2ZTlmM2QvdGFibGVyYW5nZTpkNmRlMGRkMGRhY2Y0NWRkODlkZjIyNzVkOTZlOWYzZF8wLTItMS0xLTY2OTA0_61e7b35a-9831-4db0-888a-306b15427f8c">04-2713778</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(State or other jurisdiction of<br/>incorporation or organization)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:0.5pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(I.R.S. Employer<br/>Identification No.)</span></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA3_0e7597ef-c31e-426a-b6e2-5fed2fae58f1">One Vision Drive</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA4_27469cc1-29a5-4460-ae9d-cf109369e2be">Natick</ix:nonNumeric>, <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA5_c758906f-ec75-42b0-99ee-3585f6a22eb8">Massachusetts</ix:nonNumeric> <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA0_58c1f4db-660a-4556-8b51-96091a2274eb">01760</ix:nonNumeric>-2059</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA1_90f4b9b9-63d9-441e-9751-1b13ce1b9468">508</ix:nonNumeric>) <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODEw_b5b4f1d9-0700-488d-95f4-bce5b0dfd01a">650-3000</ix:nonNumeric> </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:462.75pt"><tr><td style="width:1.0pt"></td><td style="width:460.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:14pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(Address, including zip code, and telephone number, including area code, of principal executive offices)</span></td></tr></table></div><div style="padding-left:13.5pt;text-indent:9pt"><span><br/></span></div><div style="padding-left:13.5pt;text-indent:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span></div><div style="margin-top:5pt;padding-left:13.5pt;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:37.017%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.424%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:40.259%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Title of each class</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Trading Symbol(s)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MWM4OWI1ZjcwMDdlNGFhNTk1NGE5ZjM2YzJhNWNmOTEvdGFibGVyYW5nZToxYzg5YjVmNzAwN2U0YWE1OTU0YTlmMzZjMmE1Y2Y5MV8xLTAtMS0xLTY2OTA0_e79bd811-b70c-4645-b733-c3565d41a106">Common Stock, par value $.002 per share</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MWM4OWI1ZjcwMDdlNGFhNTk1NGE5ZjM2YzJhNWNmOTEvdGFibGVyYW5nZToxYzg5YjVmNzAwN2U0YWE1OTU0YTlmMzZjMmE1Y2Y5MV8xLTEtMS0xLTY2OTA0_9578f99e-e72c-449c-931c-47162c014f08">CGNX</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MWM4OWI1ZjcwMDdlNGFhNTk1NGE5ZjM2YzJhNWNmOTEvdGFibGVyYW5nZToxYzg5YjVmNzAwN2U0YWE1OTU0YTlmMzZjMmE1Y2Y5MV8xLTItMS0xLTY2OTA0_a23e4010-2f70-49a1-8742-eafc2cae1fba">The NASDAQ Stock Market LLC</ix:nonNumeric></span></td></tr></table></div><div style="text-indent:24.75pt"><span><br/></span></div><div style="text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;</span></div><div style="margin-top:5pt;text-indent:24.75pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:497.25pt"><tr><td style="width:1.0pt"></td><td style="width:111.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:30.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:33.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:55.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:21.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:33.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:9.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:85.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6ZGM0ZDVhYzZjOWZjNDkwODg4OGVmMGIxNDdlZTIzMzYvdGFibGVyYW5nZTpkYzRkNWFjNmM5ZmM0OTA4ODg4ZWYwYjE0N2VlMjMzNl8wLTItMS0xLTY2OTA0_87a1ad7a-0bb8-4d1f-8b12-26d04c7e0bf1">Yes</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">No</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-indent:24.75pt"><span><br/></span></div><div style="text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:482.25pt"><tr><td style="width:1.0pt"></td><td style="width:96.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:30.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:33.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:55.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:21.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:33.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:9.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:85.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MTA2ZDM2NTJmMzdkNDJlZWI4YjYzNTVlMzM1NmVmODkvdGFibGVyYW5nZToxMDZkMzY1MmYzN2Q0MmVlYjhiNjM1NWUzMzU2ZWY4OV8wLTItMS0xLTY2OTA0_9ce2b354-300d-4df0-9c86-aea4baf14437">Yes</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">No</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-indent:24.75pt"><span><br/></span></div><div style="text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and "emerging growth company" in Rule 12b-2 of the Exchange Act (Check one):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:442.50pt"><tr><td style="width:1.0pt"></td><td style="width:121.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:12.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:12.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:12.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:6.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:199.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzRjMmExMWY5YWMzNDQ2ZDg1MGVlOTczZWEyMTBjNjEvdGFibGVyYW5nZTozNGMyYTExZjlhYzM0NDZkODUwZWU5NzNlYTIxMGM2MV8wLTAtMS0xLTY2OTA0_3de9a2b8-feb3-4947-89f8-2b092540fa3d">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Accelerated&#160;filer</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzRjMmExMWY5YWMzNDQ2ZDg1MGVlOTczZWEyMTBjNjEvdGFibGVyYW5nZTozNGMyYTExZjlhYzM0NDZkODUwZWU5NzNlYTIxMGM2MV8xLTctMS0xLTY2OTA0_56b54e15-1698-4e2c-9000-2dff14876096">&#9744;</ix:nonNumeric></span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Emerging growth company</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzRjMmExMWY5YWMzNDQ2ZDg1MGVlOTczZWEyMTBjNjEvdGFibGVyYW5nZTozNGMyYTExZjlhYzM0NDZkODUwZWU5NzNlYTIxMGM2MV8yLTctMS0xLTY2OTA0_939a6e01-6167-433b-b540-b2f8c286be14">&#9744;</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-indent:22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:6pt;text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;&#160;&#160;&#160; </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:482.25pt"><tr><td style="width:1.0pt"></td><td style="width:96.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:30.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:33.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:55.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:10.00pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:21.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:33.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:31.75pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:9.25pt"></td><td style="width:1.0pt"></td><td style="width:1.0pt"></td><td style="width:85.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Yes</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6YzE3OWJlN2RlMjcxNDkyYWEyZTE1MGZkODU4Nzc0OWIvdGFibGVyYW5nZTpjMTc5YmU3ZGUyNzE0OTJhYTJlMTUwZmQ4NTg3NzQ5Yl8wLTMtMS0xLTY2OTA0_4f805ce1-f8d9-421a-b605-3bdf1018bdeb">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">No</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-top:1pt;text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%">As of <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xNzAy_b148d9eb-013a-448e-b117-a73e3319a711">July 3, 2022</ix:nonNumeric>, there were <ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xNzE3_6b898f5f-8147-4d45-b9a9-b8e052620f0f">173,396,962</ix:nonFraction> shares of Common Stock, $.002 par value per share, of the registrant outstanding.</span></div><div style="margin-top:11pt;text-align:center;text-indent:24.75pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.222%"><tr><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="15" style="border-bottom:3pt double #000000;padding:0 1pt"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">INDEX</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:83.673%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.611%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART&#160;I</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">FINANCIAL INFORMATION</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_10">3</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_10">Item&#160;1.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_10">Financial Statements (interim periods unaudited)</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_10">3</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">Consolidated Statements of Operations for the three-month</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">and six-month </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">periods ended </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">July</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> 3</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">, 202</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">2</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> and </a>July 4, 2021</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">3</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_16">Consolidated Statements of Comprehensive Income for the three-month</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_16"> </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_16">and six-mont</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_16">h </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_16">periods ended </a>July 3, 2022<a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> and</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> </a>July 4, 2021</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_16">4</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_22">Consolidated Balance Sheets as of</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_22"> </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_22">July</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_22"> 3, 2022</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_22"> and December 31, 20</a>21</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_22">5</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_28">Consolidated Statements of Cash Flows for the </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_28">six</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_28">-month </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_28">periods ended </a>July 3<a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">, 202</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">2</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> and </a>July 4, 2021</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_28">6</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_31">Consolidated Statements of Shareholders&#8217; Equity for the three-month</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_31"> </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_31">and six-month </a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_31">periods ended </a>July 3,<a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> 202</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13">2</a><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_13"> and </a>July 4, 2021</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_31">7</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_37">Notes to Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_37">9</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_94">Item&#160;2.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_94">Management's Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_94">25</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_97">Item&#160;3.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_97">Quantitative and Qualitative Disclosures About Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_97">30</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_100">Item&#160;4.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_100">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_100">30</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_103">PART&#160;II</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_103">OTHER INFORMATION</a></span></div></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_106">Item&#160;1.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_106">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_106">31</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_109">Item&#160;1A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_109">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_109">31</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_112">Item&#160;2.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_112">Unregistered Sales of Equity Securities and Use of Proceeds</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_112">32</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_115">Item&#160;3.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_115">Defaults Upon Senior Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_115">32</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_118">Item&#160;4.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_118">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_118">32</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_121">Item&#160;5.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_121">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_121">32</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_124">Item&#160;6.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_124">Exhibits</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_124">33</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_127">Signatures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:right"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><a style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:none" href="#i439287817ac64be482e2ddc02068aa40_127">34</a></span></div></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I: FINANCIAL INFORMATION</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1: FINANCIAL STATEMENTS</span></div><div id="i439287817ac64be482e2ddc02068aa40_13"></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands, except per share amounts)</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.684%"><tr><td style="width:1.0%"></td><td style="width:45.122%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.540%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.540%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.540%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.794%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six-months Ended</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(unaudited)</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy0xLTEtMS02NjkwNA_a5b5cb38-52e5-4954-b8ff-01fa0ce511f1">274,628</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy0zLTEtMS02NjkwNA_28326bb0-efd4-42e1-87e0-5dce7c739a9d">269,158</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy01LTEtMS02NjkwNA_9976eb1f-af06-45d9-9393-14b21c1146ab">557,035</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy03LTEtMS02NjkwNA_da73ade3-d074-448f-b16d-a34c20aa88dc">508,185</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC0xLTEtMS02NjkwNA_cd66873c-c768-4062-93eb-89ac97b6996e">78,143</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC0zLTEtMS02NjkwNA_a34643be-a0fa-4108-b4fa-2d898f1faf57">68,432</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC01LTEtMS02NjkwNA_0d9478f5-8878-4f51-afc7-b0c127a479ef">156,933</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC03LTEtMS02NjkwNA_3633034b-a553-46c5-8596-825a34e3ab65">122,477</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS0xLTEtMS02NjkwNA_f16986d0-bfb4-4218-8cb2-10d269dc884b">196,485</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS0zLTEtMS02NjkwNA_93d6fc43-6eac-45ae-9a12-1d6cd7f203f5">200,726</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS01LTEtMS02NjkwNA_2eee84de-c442-4171-973f-48ba9b31b219">400,102</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS03LTEtMS02NjkwNA_94557953-7452-4069-81ab-704425fa63d1">385,708</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi0xLTEtMS02NjkwNA_a4448e39-2ee4-4893-b4d3-a21eac25babe">33,991</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi0zLTEtMS02NjkwNA_648d501b-9269-4f2b-9978-8881214a9874">31,302</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi01LTEtMS02NjkwNA_aa750780-5033-4f60-ba09-57a1b2254038">70,045</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi03LTEtMS02NjkwNA_85dde09e-5114-45ef-8b8c-6cc985b69f8b">65,407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0xLTEtMS03MDE0MQ_9b979d08-099e-4631-aff8-e7ae5aad315e">79,950</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0zLTEtMS03MDE0MQ_0757491b-135d-49c8-95b2-818b3ab8c6c2">76,843</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy01LTEtMS03MDE0MQ_1b894ad2-c5c0-484a-90d4-a0229f3635e4">160,785</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy03LTEtMS03MDE0MQ_97258998-bd5d-42a1-ac83-39d2ba3515b4">149,267</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from fire (Note 17)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:LossFromCatastrophes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0xLTEtMS02NjkwNA_f52c8de1-6286-4bee-a0c2-dbb9f4246424">17,403</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:LossFromCatastrophes" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0zLTEtMS02NjkwNA_2f0639d3-d6ba-4825-b558-edbf997176c2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:LossFromCatastrophes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy01LTEtMS02NjkwNA_c27f603a-a006-472a-9507-2743f975cd38">17,403</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:LossFromCatastrophes" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy03LTEtMS02NjkwNA_ad281cae-a87d-4b70-b082-dec9db91a51d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating income</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC0xLTEtMS02NjkwNA_fecfb8bd-ae91-46cf-9fcc-c28f8dcd7600">65,141</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC0zLTEtMS02NjkwNA_f5043c7c-9c62-4d56-9053-7f854c265f00">92,581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC01LTEtMS02NjkwNA_0f3bf243-e4c2-4847-bc43-fa19f46e46b2">151,869</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC03LTEtMS02NjkwNA_787c165a-90e4-437b-9767-1bb0e04e47b6">171,034</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS0xLTEtMS02NjkwNA_bdded95f-695a-4a4a-8a27-864ce288ed33">2,043</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS0zLTEtMS02NjkwNA_1f8a5b3c-c4db-48ec-b8c6-0d9dd1902bf3">639</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS01LTEtMS02NjkwNA_bd7a92ae-e9f1-4c06-aef7-fabf118e163e">2,487</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS03LTEtMS02NjkwNA_2db9c536-7b1d-46ed-a616-28bd918822c9">1,647</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investment income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:InvestmentIncomeNonoperating" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtMS0xLTEtNjY5MDQ_5fa7e54e-cc69-4ed2-98d1-29ebea375b2f">1,505</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:InvestmentIncomeNonoperating" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtMy0xLTEtNjY5MDQ_84b87822-c296-493c-82d6-9ed9613cd675">1,723</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:InvestmentIncomeNonoperating" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtNS0xLTEtNjY5MDQ_74549f7d-4583-42df-ab44-442d8e7235bb">2,973</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:InvestmentIncomeNonoperating" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtNy0xLTEtNjY5MDQ_891d481b-4281-4dc6-862c-d8c068eb415f">3,277</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtMS0xLTEtNjY5MDQ_ae13bec2-44bd-4276-95d1-3accd7339ae8">188</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtMy0xLTEtNjY5MDQ_158aa7ee-76f9-4b48-a9cd-912fd35a2c70">127</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtNS0xLTEtNjY5MDQ_aa0e9666-10ba-46d9-9841-66bc609da501">236</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtNy0xLTEtNjY5MDQ_18b05678-a23c-4c1c-91ae-8137c14ad218">295</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income tax expense</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItMS0xLTEtNjY5MDQ_3fec8372-5b10-426b-af02-071854f532d7">64,415</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItMy0xLTEtNjY5MDQ_40b52ed3-9d13-412b-8cdc-1b7191881e4a">93,538</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItNS0xLTEtNjY5MDQ_0011c606-f289-43ef-90df-a295737959ea">152,119</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItNy0xLTEtNjY5MDQ_7e41eb74-affe-4560-b131-52d19524886c">172,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtMS0xLTEtNjY5MDQ_7f7ce026-2895-4a5c-8ca4-05530bfb11a6">5,514</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtMy0xLTEtNjY5MDQ_912fee97-0264-45fa-b3aa-a93871c6dd9f">15,940</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtNS0xLTEtNjY5MDQ_646bcd4a-8e21-44bd-9d24-3cd33b797331">25,885</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtNy0xLTEtNjY5MDQ_a70aae95-55c0-4713-bc43-e670df3d0372">24,923</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtMS0xLTEtNjY5MDQ_865b92e0-d291-44e6-bb96-60951f0b89f0">58,901</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtMy0xLTEtNjY5MDQ_051c2c04-95aa-4d76-9ce9-6b3f52f39a6e">77,598</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtNS0xLTEtNjY5MDQ_06d1359a-4b53-4918-abdb-988fb4a9a124">126,234</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtNy0xLTEtNjY5MDQ_af7fae46-43a5-4c03-bbe1-29946267be16">147,446</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="24" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per weighted-average common and common-equivalent share:</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctMS0xLTEtNjY5MDQ_b8ca473e-34ca-4aa1-9bf5-88b22e385dab">0.34</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctMy0xLTEtNjY5MDQ_2198739d-d260-437d-9651-5549d75689cc">0.44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctNS0xLTEtNjY5MDQ_54eb57ef-41ad-4aad-a9a1-2be0c9a36741">0.73</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctNy0xLTEtNjY5MDQ_0dd06ab3-a9ce-41d3-9b09-ae69ade9efd7">0.84</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtMS0xLTEtNjY5MDQ_d5e3f4b6-007b-4bab-8fc7-0f434beda40a">0.34</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtMy0xLTEtNjY5MDQ_69c22171-27ed-481c-8527-551bb557f711">0.43</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtNS0xLTEtNjY5MDQ_0513cc9a-950b-41a5-8671-dc0ba46cb4ad">0.72</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtNy0xLTEtNjY5MDQ_4377cabd-578f-404c-bd1f-73288452a842">0.82</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="24" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding:</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtMS0xLTEtNjY5MDQ_97ab4423-b3b7-48a5-8a63-c994b0e08902">173,507</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtMy0xLTEtNjY5MDQ_85bd68b4-430c-417a-953a-1358319cfd7e">176,626</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtNS0xLTEtNjY5MDQ_d33ebf94-3bc3-4135-bedc-c8663205358e">173,830</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtNy0xLTEtNjY5MDQ_9dcf4a46-1c48-48dd-aa7b-5895e6b6f2d3">176,454</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItMS0xLTEtNjY5MDQ_dfdd6126-c993-4a26-a90d-9de955efcd42">174,993</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItMy0xLTEtNjY5MDQ_dab51d5d-97b4-4485-86df-c4e800fcc27b">179,991</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItNS0xLTEtNjY5MDQ_b0faa59e-ba35-4c6c-868e-3223fa7d7b3a">175,874</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItNy0xLTEtNjY5MDQ_25105bc8-c118-4bb1-afa3-5176c859b260">179,982</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash dividends per common share</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="INF" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtMS0xLTEtNjY5MDQ_4582db60-a55f-4a7a-b0c3-f00591ae06b2">0.065</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="INF" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtMy0xLTEtNjY5MDQ_2b74b73d-3dba-4d91-9793-9f09ffd2a849">0.060</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="INF" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtNS0xLTEtNjY5MDQ_425dd36f-cef3-4fbf-870a-c9995eeefae6">0.130</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="INF" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtNy0xLTEtNjY5MDQ_707c8cae-c539-4b10-975c-9ad86f495459">0.120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_16"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(unaudited)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy0xLTEtMS02NjkwNA_c746ab63-cd1f-4604-8927-a538e6621c69">58,901</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy0zLTEtMS02NjkwNA_c10c6a62-9800-4693-8298-afd3da450001">77,598</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy01LTEtMS02NjkwNA_6d9702fa-68ed-4978-bdd2-e00347e3b7ad">126,234</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy03LTEtMS02NjkwNA_41e5c5c4-88e9-406e-9600-511a0666c2d0">147,446</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss), net of tax:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Available-for-sale investments:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net unrealized gain (loss), net of tax of $(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV80Ng_26a7a965-60fe-4b27-9e41-19bc3fec697a">698</ix:nonFraction>) and $(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV81Mw_73fa44f7-80af-46be-966d-7acc5976acf8">61</ix:nonFraction>) in the three-month periods, and net of tax of $(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV81NDk3NTU4MTQxMDE_da1a34b2-65dd-4a06-a274-6fc7d6ec68ae">4,734</ix:nonFraction>) and $(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV81NDk3NTU4MTQwOTM_82dab472-ebea-4500-9ca1-73afe4ccabf5">646</ix:nonFraction>) in the six-month</span></div><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">periods, respectively</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMS0xLTEtNjY5MDQ_d45f6341-4257-4237-8239-a5c1ba831851">2,322</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMy0xLTEtNjY5MDQ_705a00b2-23fc-47ee-86ec-5697ac3ce91e">138</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtNS0xLTEtNjY5MDQ_4588db1b-9467-4153-937c-79ade91d3a13">15,870</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtNy0xLTEtNjY5MDQ_096a9a34-df87-4e0f-bb63-d3769c5eab47">2,096</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtMS0xLTEtNjY5MDQ_71a46f35-31a8-41ad-97d9-6ffd98ed88c9">12</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtMy0xLTEtNjY5MDQ_5391064f-218f-471f-81af-065795e57d8d">68</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtNS0xLTEtNjY5MDQ_9426923a-4b03-4d33-bfd7-4c733c5e884a">24</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtNy0xLTEtNjY5MDQ_39dfa72e-dd74-428f-8eb7-295dd4a5b179">68</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net change related to available-for-sale investments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtMS0xLTEtNjY5MDQ_4744f2a7-8e77-4ac5-80d7-55e253ac550c">2,334</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtMy0xLTEtNjY5MDQ_1b1d4a44-5b7b-4c90-a144-f30a90731c71">206</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtNS0xLTEtNjY5MDQ_069e5dc8-7d75-4493-926c-e7523a375f9b">15,846</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtNy0xLTEtNjY5MDQ_500200a0-ab40-425a-bc57-ba01ea11c4d8">2,164</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctMS0xLTEtNjY5MDQ_c3fd693b-b4b3-4243-8b28-863744017c28">3,962</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctMy0xLTEtNjY5MDQ_6a449568-ca56-42cf-97e7-8dcae5efaaaf">337</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctNS0xLTEtNjY5MDQ_a24a7781-5ba6-451d-901f-350ff3d94479">6,073</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctNy0xLTEtNjY5MDQ_81dd05b9-d43c-4646-83cf-6a1198887407">3,107</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net change related to foreign currency translation adjustments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtMS0xLTEtNjY5MDQ_a1b0f8be-e612-4dfd-a8f7-d1666f8a743e">3,962</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtMy0xLTEtNjY5MDQ_5a4a365f-0497-4c53-afa0-f74a2949a903">337</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtNS0xLTEtNjY5MDQ_fe7c45ae-d546-403f-8426-39cfc2032271">6,073</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtNy0xLTEtNjY5MDQ_5531df08-99e6-4cbc-8a54-56da3e79ca48">3,107</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss), net of tax</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtMS0xLTEtNjY5MDQ_f66dd1ef-a988-43e9-ba92-5439308de8a5">6,296</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtMy0xLTEtNjY5MDQ_e8a81387-ec85-49d7-b479-89af8164e841">543</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtNS0xLTEtNjY5MDQ_4f098a6c-22f4-4cf5-94da-71f3f776f075">21,919</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtNy0xLTEtNjY5MDQ_ab4df6b5-e994-4239-87f4-8072b695a4cb">5,271</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total comprehensive income</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtMS0xLTEtNjY5MDQ_42eb3aaa-40e5-40e6-8881-6c87b7b21293">52,605</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtMy0xLTEtNjY5MDQ_473cbf40-8e26-4acd-afa0-1bd3143a637c">77,055</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtNS0xLTEtNjY5MDQ_4a94b4b6-58d6-43de-ab88-739d8dea1d30">104,315</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtNy0xLTEtNjY5MDQ_96c06a3a-819e-4cfd-8323-2dd1f68b16a9">142,175</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="margin-top:7pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="margin-top:12pt;text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_22"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.496%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.882%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.592%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNC0xLTEtMS02NjkwNA_78c73ee2-b538-42d3-8537-77cd391e059b">177,046</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNC0zLTEtMS02NjkwNA_b6c15396-56de-4654-8b8e-a8b8cf9504ce">186,161</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current investments, amortized cost of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzQ0_968fbf01-165c-49a4-9a21-8b64369126ff">184,849</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzUy_d4f30015-5c91-46b5-b918-01265a829441">137,124</ix:nonFraction> in 2022 and 2021, respectively, allowance for credit losses of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzExOQ_3a974e37-e00d-478b-986b-80e4fb72adac"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzExOQ_e8415209-3e72-47fd-bf3e-7ffbc051ba45">0</ix:nonFraction></ix:nonFraction> in 2022 and 2021</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0xLTEtMS02NjkwNA_171b1ba0-b444-419e-bdb4-93c946fcd458">182,634</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0zLTEtMS02NjkwNA_e79bc90d-d929-4b1f-b7dd-c759ad7a6ca6">137,455</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable, allowance for credit losses of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjYwZDU2NzYwMWQzYzRiNjZiNmZjNjQ1ZWE3ZWM5ZWMyXzU3_7407db97-c439-42fc-baac-770f68a39697">741</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjYwZDU2NzYwMWQzYzRiNjZiNmZjNjQ1ZWE3ZWM5ZWMyXzY1_3a928f4b-f8b1-4123-b1ec-760e5eb5502f">776</ix:nonFraction> in 2022 and 2021, respectively</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0xLTEtMS02NjkwNA_8d0d8ee6-20cc-4d73-b10f-f36943e7804b">171,414</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0zLTEtMS02NjkwNA_f3d27b8e-5ab6-4fda-a11a-0d85925b1bdd">130,348</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unbilled revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:UnbilledReceivablesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNy0xLTEtMS02NjkwNA_10a944d6-a81f-4ff1-a339-fdfb8dadad58">2,268</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:UnbilledReceivablesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNy0zLTEtMS02NjkwNA_b9cff2e1-bdfb-4c70-a111-1dfbae28f436">3,990</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOC0xLTEtMS02NjkwNA_31aaf907-1ac7-4737-a9a1-1017fa1b8482">96,012</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOC0zLTEtMS02NjkwNA_57b269a3-7b46-429c-bde2-2c91624d718a">113,102</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOS0xLTEtMS02NjkwNA_62d4abb5-0dd1-4913-a26d-cc993ccac71b">105,384</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOS0zLTEtMS02NjkwNA_56fb7c42-8ce0-435a-9638-103e2bbda926">68,742</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTAtMS0xLTEtNjY5MDQ_105d8d70-d317-4ca7-81c4-eb26c363c441">734,758</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTAtMy0xLTEtNjY5MDQ_12f60622-eaf8-41fc-a0f4-cbb617940d94">639,798</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-current investments, amortized cost of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV80OA_10e0521b-8925-4f1f-9951-2ddd61b9ce53">450,669</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV81Ng_87ae77c5-7a74-4f09-b641-99b17d8b3eb6">587,981</ix:nonFraction> in 2022 and 2021, respectively, allowance for credit losses of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV8xMjM_25c8517e-9890-4105-a245-32889f001d35"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV8xMjM_ba47cc0a-f59b-404d-a59c-cedc1a14a7af">0</ix:nonFraction></ix:nonFraction> in 2022 and 2021</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LongTermInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMS0xLTEtNjY5MDQ_e7f07d9b-d28a-4d5e-ba7d-22b8c550ae4c">428,401</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:LongTermInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMy0xLTEtNjY5MDQ_0592ce10-0f86-4a70-922f-da5a42c40fb2">583,748</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTItMS0xLTEtNjY5MDQ_6bdc9f1f-bf23-442e-b38c-c80ae7ee1d9d">79,468</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTItMy0xLTEtNjY5MDQ_0f4a24c5-67c5-4f76-bacf-1de01702d44a">77,546</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTMtMS0xLTEtNjY5MDQ_815fb64c-ff80-4074-9a41-282ae0f8b4fa">32,128</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTMtMy0xLTEtNjY5MDQ_b47c5509-e537-423e-a1d9-548783dadc14">23,157</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTQtMS0xLTEtNjY5MDQ_5d2daf18-c7ab-4713-8ba2-032664abb726">239,798</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTQtMy0xLTEtNjY5MDQ_41d22fe7-1d97-4c43-a4dd-4c96010535e0">241,713</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangible assets, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTUtMS0xLTEtNjY5MDQ_db34ebce-60ee-4642-ba95-48f799d4bc79">10,226</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTUtMy0xLTEtNjY5MDQ_8acc04d6-dd90-4338-93ba-ab3eebea5001">11,888</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTYtMS0xLTEtNjY5MDQ_ed5dadbe-655b-494d-a4b5-ac2060b644fb">411,505</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTYtMy0xLTEtNjY5MDQ_61d3b730-7c6c-4e5a-9ce1-f8a53f41a59c">418,570</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTctMS0xLTEtNjY5MDQ_f1e9990d-882e-407f-a151-0c94ab218866">6,799</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTctMy0xLTEtNjY5MDQ_eaab30d2-96e9-445b-9e9c-78385e6d21bb">7,242</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTgtMS0xLTEtNjY5MDQ_508a368b-909e-4ff4-b7c3-d7c07ee5ab9a">1,943,083</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTgtMy0xLTEtNjY5MDQ_d11bdbb3-575e-430d-8744-a67062e1dd39">2,003,662</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjItMS0xLTEtNjY5MDQ_b94811c0-5f3f-4e78-a4ff-ed87fc1bf4bf">20,364</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjItMy0xLTEtNjY5MDQ_2ed479c8-4fe5-4daa-8ae3-d176eeef64d5">44,051</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjMtMS0xLTEtNjY5MDQ_7c750e21-0b3a-4184-b46a-c4a8e3872700">70,051</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjMtMy0xLTEtNjY5MDQ_00a67829-208b-43b8-80ef-3fe404f99605">92,432</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AccruedIncomeTaxesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjQtMS0xLTEtNjY5MDQ_09dad721-8f04-4d5e-9a4b-6e4167fcd9de">18,285</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AccruedIncomeTaxesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjQtMy0xLTEtNjY5MDQ_67604f29-6406-4ecc-a6aa-4f9b7f6e9e9b">8,577</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue and customer deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjUtMS0xLTEtNjY5MDQ_6498c51d-103e-456f-befd-073cda0bff6c">75,385</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjUtMy0xLTEtNjY5MDQ_c9e3da9a-baa3-464b-8de1-76c22d43e52f">35,743</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjYtMS0xLTEtNjY5MDQ_1aaeeb32-27a4-4ba8-97db-95b9ffc98c00">8,156</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjYtMy0xLTEtNjY5MDQ_6813d3d6-456d-4368-87e8-5721e36f47ad">7,786</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjctMS0xLTEtNjY5MDQ_344a0e92-a392-4da9-9368-826baff19e02">192,241</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjctMy0xLTEtNjY5MDQ_8f282fa3-64c5-441a-a01c-6289abddf7ab">188,589</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-current operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjgtMS0xLTEtNjY5MDQ_bf956a09-b0b9-4c15-b945-e3bdac248780">26,096</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjgtMy0xLTEtNjY5MDQ_00e9eca7-e7d1-437e-aaf8-1ae3f5ab4a37">17,795</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjktMS0xLTEtNjY5MDQ_0201e28f-1709-47b9-9920-15ebab9b0692">271,592</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjktMy0xLTEtNjY5MDQ_9065019e-40ff-4847-864e-9906dac19a93">293,769</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reserve for income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzAtMS0xLTEtNjY5MDQ_2c13928f-64fe-48e9-8f55-c7b985d37839">12,876</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzAtMy0xLTEtNjY5MDQ_9735567d-c61f-44d4-b239-a4b731f0ef72">14,780</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-current accrued income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AccruedIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzEtMS0xLTEtNjY5MDQ_44086ff3-4cfa-4889-951f-e0a26eece3d3">33,008</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AccruedIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzEtMy0xLTEtNjY5MDQ_25449bb4-e45e-4e73-9a80-90fa5f56bc26">43,160</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzItMS0xLTEtNjY5MDQ_1e0e5c1e-955f-4326-9714-2bf101620afb">17,285</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzItMy0xLTEtNjY5MDQ_d7a63e2e-e1fd-4f2d-9b1e-06aef1eeef46">15,476</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzMtMS0xLTEtNjY5MDQ_0de0a48a-7d98-4ac1-b6e5-a117e2894adc">553,098</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzMtMy0xLTEtNjY5MDQ_de08665b-6b87-4ae1-a465-b7970e9951f1">573,569</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commitments and contingencies (Note 10)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shareholders&#8217; equity:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Preferred stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="2" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF8yMg_a8153143-bed8-4092-9a28-762714145737"><ix:nonFraction unitRef="usdPerShare" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="2" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF8yMg_c62e4a2d-553c-47ca-8619-1724ab656621">.01</ix:nonFraction></ix:nonFraction> par value &#8211; Authorized: <ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF80OQ_ace5418f-9f50-4b3a-a7be-01e1eb8d3d4a"><ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF80OQ_be9e4b95-e0e4-4ccf-ae07-6bb746c1f3b7">400</ix:nonFraction></ix:nonFraction> shares in 2022 and 2021, respectively; <ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_796c48a1-7edc-42db-9812-1a783cdb1173"><ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_9593082a-7626-42e4-93f2-0e3eeb2103db"><ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_bdd7e3e9-ddb7-4736-9ece-694813ad43ef"><ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_f6f9169c-c5e8-46ca-a08d-de59f82dcce4">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued and outstanding</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:PreferredStockValueOutstanding" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMS0xLTEtNjY5MDQ_a68641c4-187d-42aa-b1fd-215117cf6a8d">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:PreferredStockValueOutstanding" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMy0xLTEtNjY5MDQ_f7536983-f742-41fc-88d2-63ac941474e0">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xOQ_66ac6d17-ecaa-4be9-8ebc-8d13c4a6040d"><ix:nonFraction unitRef="usdPerShare" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xOQ_7ed1b021-5c2e-422f-b8a7-4826f42272b8">.002</ix:nonFraction></ix:nonFraction> par value &#8211; Authorized: <ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF80Ng_03a52405-f0ef-4a89-a463-46446479f8cd"><ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF80Ng_c3799bda-3876-4478-8152-6b1d6ceb15a3">300,000</ix:nonFraction></ix:nonFraction> shares in 2022 and 2021, respectively; issued and outstanding: <ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTI_aea38abe-4724-461c-a2e9-010a6c02183d"><ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTI_c75c8826-4363-4140-a9cd-a819f6da5da7">173,397</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTk_6b865c3f-ae78-42a2-8294-9c6d2c50c166"><ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTk_87f69aa2-7afb-4a49-9a37-8ced271cd50b">175,481</ix:nonFraction></ix:nonFraction> shares in 2022 and 2021, respectively</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CommonStockValueOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMS0xLTEtNjY5MDQ_9797598c-ea40-4646-bfc6-aa06a826e840">347</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CommonStockValueOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMy0xLTEtNjY5MDQ_a168a730-49eb-49ad-abf3-44f6ea294c14">351</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzktMS0xLTEtNjY5MDQ_5b22c7e7-2911-4824-bdce-4eb23339a1e5">947,269</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzktMy0xLTEtNjY5MDQ_05147344-1bd4-412a-9663-f8e24a277318">914,802</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Retained earnings</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDAtMS0xLTEtNjY5MDQ_9650b71a-f28f-496d-96c5-36bd58d4019f">512,230</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDAtMy0xLTEtNjY5MDQ_34f285de-e0b8-4293-9865-58200bc253f2">562,882</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss, net of tax</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDEtMS0xLTEtNjY5MDQ_91ceaba5-ffea-4313-83a3-4803b7a61fad">69,861</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDEtMy0xLTEtNjY5MDQ_22b36645-e311-496e-ba65-01e5cc423b7c">47,942</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total shareholders&#8217; equity</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDItMS0xLTEtNjY5MDQ_26309a19-4899-467c-b5ae-f5569ec29a59">1,389,985</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDItMy0xLTEtNjY5MDQ_a4d3af90-260f-4257-b952-b8d9e349749e">1,430,093</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and shareholders' equity</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDMtMS0xLTEtNjY5MDQ_053a1895-26e6-4b4e-b3c9-2330f78b909f">1,943,083</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDMtMy0xLTEtNjY5MDQ_61e60b6d-1a61-43d5-8135-8b845c0161e5">2,003,662</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_28"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.882%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.545%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(unaudited)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash flows from operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNC0xLTEtMS02NjkwNA_bcd1357d-349a-42b1-acdf-fa0efe71d108">126,234</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNC0zLTEtMS02NjkwNA_9a43f50f-c44c-4beb-bccf-ea92e89f3dac">147,446</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:StockOptionPlanExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNi0xLTEtMS02NjkwNA_22e54ecc-f6a2-4162-af37-590fa895c676">28,053</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:StockOptionPlanExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNi0zLTEtMS02NjkwNA_7cd2a401-80ef-4eee-a32a-59194cdfdc29">22,739</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation of property, plant, and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNy0xLTEtMS02NjkwNA_4935583b-a96e-411e-89e3-3a6c6fa27469">8,114</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNy0zLTEtMS02NjkwNA_41ebe3db-f10c-4c2d-ac04-46ee5b339518">8,510</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loss (gain) on disposal of property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOC0xLTEtMS02NjkwNA_5fe3b969-73b4-47ef-b070-fea02bf003ec">12</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:GainLossOnDispositionOfAssets1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOC0zLTEtMS02NjkwNA_64aff3f5-65a5-4a74-a13f-66465367ddbb">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization of intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOS0xLTEtMS02NjkwNA_0346f432-a323-4d06-a57a-110e8df35707">1,662</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOS0zLTEtMS02NjkwNA_0621a3d2-8d2b-49bd-ab8f-3230d201150d">1,853</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Excess and obsolete inventory charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:ExcessAndObsoleteInventoryCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTAtMS0xLTEtNjY5MDQ_5aec7a0d-acf5-4f8a-9593-538eb29986da">741</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="cgnx:ExcessAndObsoleteInventoryCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTAtMy0xLTEtNjY5MDQ_0a9e2feb-dd7c-4823-8d40-9cc4d297f99a">1,816</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash impact of write-offs related to fire (Note 17)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:NonCashLossFromCatastrophes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMS0xLTEtNzA0MDI_5bd2fca8-e141-47bb-bc55-c620d3f329c1">44,903</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="cgnx:NonCashLossFromCatastrophes" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMy0xLTEtNzA0MDg_db9f09b6-6f96-4e9a-b9a9-cf5cbb6d7ca4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization of discounts or premiums on investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMS0xLTEtNjY5MDQ_c837bc46-3424-48c2-8689-1ad9538e18b8">2,714</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMy0xLTEtNjY5MDQ_db076994-4822-447e-bbc2-abb7d0718f04">1,840</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Realized loss (gain) on sale of investments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTItMS0xLTEtNjY5MDQ_ef1cf208-beab-4894-b6fe-359426649836">24</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:GainLossOnSaleOfInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTItMy0xLTEtNjY5MDQ_5d3f5b07-026f-4192-9c72-ea95a1b62f75">68</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Change in deferred income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTUtMS0xLTEtNjY5MDQ_00ad4cb0-2c5e-4485-83c0-b5e7a870c4ba">10,809</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTUtMy0xLTEtNjY5MDQ_37b3afae-1a24-4fcb-9d14-47018e3e4d2b">973</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Change in operating assets and liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTctMS0xLTEtNjY5MDQ_545403f2-0080-419a-8f9a-357c05bfe4a5">44,118</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTctMy0xLTEtNjY5MDQ_e3d968b8-50d9-4082-9496-eb87e720e667">23,488</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unbilled revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTgtMS0xLTEtNjY5MDQ_a7cd7093-4f41-4d57-953a-f45f0cbeabcc">1,704</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTgtMy0xLTEtNjY5MDQ_1e48fade-3d93-48c1-bc77-e6f9488932ec">3,844</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTktMS0xLTEtNjY5MDQ_54785eec-91a7-4abf-8b52-454b1875a78b">20,122</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTktMy0xLTEtNjY5MDQ_74139eb3-1d9e-441b-9f1b-489e9bf491c1">9,521</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjEtMS0xLTEtNjY5MDQ_9c6b76db-58ce-4c80-9e79-3bed269a8b31">45,752</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjEtMy0xLTEtNjY5MDQ_54376f21-aedf-45eb-bb19-922e64353f2e">28,830</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjItMS0xLTEtNjY5MDQ_7211a587-c5d2-4691-a1bc-dfa8c401924f">23,525</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjItMy0xLTEtNjY5MDQ_2a860e40-933d-44dc-95a5-ee7357055adf">16,058</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjMtMS0xLTEtNjY5MDQ_17855428-d512-49bc-b894-359f4daf3c21">20,024</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjMtMy0xLTEtNjY5MDQ_65e2d59a-6a36-41b4-af14-78967033c588">206</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjQtMS0xLTEtNjY5MDQ_18dac1b5-1f91-4203-94ee-42e53909fb5b">372</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjQtMy0xLTEtNjY5MDQ_4931a3ad-733f-447c-9ce1-fb8dac86b25b">5,588</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue and customer deposits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjUtMS0xLTEtNjY5MDQ_4a3e71af-73db-45b0-87fc-dcbc3e2f638b">41,535</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjUtMy0xLTEtNjY5MDQ_e0a8ee0a-e8e1-4964-8f9d-552f77392f7b">55,220</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 48.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjYtMS0xLTEtNjY5MDQ_159a11e5-4b53-4980-90b2-9a64d48ead98">2,655</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjYtMy0xLTEtNjY5MDQ_36eef165-be5e-41aa-a782-b39512471bc6">1,711</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjctMS0xLTEtNjY5MDQ_55126e0e-3abc-4ed6-a91b-f0fb379dbcf0">93,629</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjctMy0xLTEtNjY5MDQ_4c85a987-2b47-40dc-b0c1-75569c92ebec">194,725</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash flows from investing activities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of investments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:PaymentsToAcquireInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjktMS0xLTEtNjY5MDQ_ee69d8eb-1cd9-477c-b021-5daf87c9a060">77,760</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:PaymentsToAcquireInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjktMy0xLTEtNjY5MDQ_b681b646-593d-4b17-ad7a-7d9108d2783a">511,625</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Maturities and sales of investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzAtMS0xLTEtNjY5MDQ_328e6a14-f75c-4419-b0df-f937a284c66c">164,610</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzAtMy0xLTEtNjY5MDQ_33c6081a-9093-416c-9e8b-1400acd5e9af">270,696</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of property, plant, and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzEtMS0xLTEtNjY5MDQ_110ece99-32fc-45ae-985a-8b8e59d48409">11,253</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzEtMy0xLTEtNjY5MDQ_48047471-b27d-4103-9e95-b9b1f372d772">6,550</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by (used in) investing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzUtMS0xLTEtNjY5MDQ_028a8e14-d223-45f7-81ef-7f4849f8a60b">75,597</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzUtMy0xLTEtNjY5MDQ_241284c9-a362-43fd-aa69-6751eea86910">247,479</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash flows from financing activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net proceeds from issuance of common stock under stock plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzctMS0xLTEtNjY5MDQ_477e0325-892e-40ea-9abc-a2cc89e63bc4">4,414</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzctMy0xLTEtNjY5MDQ_64fdd681-812f-41da-a80d-a359a2256174">44,407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzgtMS0xLTEtNjY5MDQ_837788fe-c88a-4d76-9640-201e0481b422">154,317</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzgtMy0xLTEtNjY5MDQ_37dd99e2-b2d9-4bf7-813e-825924bf7bd4">20,877</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of dividends</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:PaymentsOfDividendsCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzktMS0xLTEtNjY5MDQ_6f322b73-f1a1-4981-a6b6-8e2f0c154b55">22,573</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:PaymentsOfDividendsCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzktMy0xLTEtNjY5MDQ_563560c6-8796-49cc-ad13-6e612a18107e">21,192</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by (used in) financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDEtMS0xLTEtNjY5MDQ_22c6e65e-00b0-406e-9d2c-996a4ae36125">172,476</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDEtMy0xLTEtNjY5MDQ_44aea6d4-3263-473d-ac73-62a44a81cf2a">2,338</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign exchange rate changes on cash and cash equivalents</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDItMS0xLTEtNjY5MDQ_3e20f275-c6fa-4ff7-a9db-3ad36b0f93dc">5,865</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDItMy0xLTEtNjY5MDQ_b5a0e42a-3bb9-44d8-842f-cccbfffe083f">1,620</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net change in cash and cash equivalents</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDMtMS0xLTEtNjY5MDQ_65260a4e-ee25-4d1a-8f83-df60680f70d4">9,115</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDMtMy0xLTEtNjY5MDQ_2263b772-b469-4651-8fec-e519cfbc5d86">52,036</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents at beginning of period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDQtMS0xLTEtNjY5MDQ_508def9d-3ed4-4148-9fec-c064a9fdfb0c">186,161</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5c51190f418d4624a1ced49cafff6754_I20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDQtMy0xLTEtNjY5MDQ_5db3ee48-db6c-484b-b2b3-bd43c4546945">269,073</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents at end of period</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDUtMS0xLTEtNjY5MDQ_72273083-86fe-4b31-93d4-a03233cd033b">177,046</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i987af0567ae743cca6c3024e14eb819b_I20210704" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDUtMy0xLTEtNjY5MDQ_4aee8322-70f1-4500-b2c6-0117c8214646">217,037</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:40.5pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_31"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:28.944%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.883%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.472%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.480%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.896%"></td><td style="width:0.1%"></td></tr><tr style="height:30pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional<br/>Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Retained Earnings</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total<br/>Shareholders&#8217;<br/>Equity</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Par&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of April 3, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i32c95cd61a0d4856bdd854de3e2841ca_I20220403" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi0xLTEtMS02NjkwNA_611ab58f-4259-4be3-ae8e-0dc15d5cb3b4">173,738</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i32c95cd61a0d4856bdd854de3e2841ca_I20220403" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi0zLTEtMS02NjkwNA_713bd1c4-e8f1-46c7-98fe-8a579f7be537">347</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie8ea09e451f442428698bdda60de1f63_I20220403" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi01LTEtMS02NjkwNA_3e1dca9c-575c-4710-b1e3-1c046489c2dd">933,452</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i88fa227af48e41399ad43596248d1f1d_I20220403" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi03LTEtMS02NjkwNA_a4e00d76-169d-4a23-b435-4c6752680ea4">488,511</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ic7de6eae4aa146cf97b1a520164bcd39_I20220403" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi05LTEtMS02NjkwNA_9ec99815-9908-4fa5-adef-812661e02eff">63,565</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i739e123723424159b09a3135b61420a3_I20220403" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi0xMS0xLTEtNjY5MDQ_b0c451ed-6e90-4605-9084-20f339c8382f">1,358,745</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net issuance of common stock under stock plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy0xLTEtMS02NjkwNA_90f84a8a-74b2-44e9-bc27-08d96563a896">47</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy0zLTEtMS02NjkwNA_88ee342b-4041-44b5-a743-f2fe80abd9cf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i729bb94dfa1f44948ab9ff09a58d086c_D20220404-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy01LTEtMS02NjkwNA_67b67e70-8c15-4361-88e0-54d995aa5ba3">820</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy0xMS0xLTEtNjY5MDQ_68cb9409-6ab7-4f05-8689-f092f7984544">820</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC0xLTEtMS02NjkwNA_4fc9fbba-8ee6-4151-9281-f559d1b9afb2">388</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC0zLTEtMS02NjkwNA_1f312a86-bbed-4cd2-ae18-2c60afb99923">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC03LTEtMS02NjkwNA_e2b3f568-fc42-45a2-ac8c-b10c9d888377">23,912</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC0xMS0xLTEtNjY5MDQ_f69a9b28-010a-4cfd-9361-3bc1ece42780">23,912</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i729bb94dfa1f44948ab9ff09a58d086c_D20220404-20220703" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNS01LTEtMS02NjkwNA_83962081-cc7a-4593-a92e-55dc82f2fd6b">12,997</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNS0xMS0xLTEtNjY5MDQ_8bfa949b-ed8c-4427-b6e3-ccdb575f6ff1">12,997</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of dividends ($<ix:nonFraction unitRef="usdPerShare" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="3" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmVhMjIxZDA5ZmFmMTRiZjY4Y2U3YTZkYjg0OWNkMTBkXzI3_798f1ed4-f8da-46ec-9f78-eebfd6b86fe9">0.065</ix:nonFraction> per common share)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNi03LTEtMS02NjkwNA_805e6c8f-1159-4681-be61-b8f2aa288c4d">11,270</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNi0xMS0xLTEtNjY5MDQ_110561b2-d92a-4522-b79b-771bed2b59b1">11,270</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNy03LTEtMS02NjkwNA_5f3c4dfb-533c-4ff1-a7f0-6779e41164bf">58,901</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNy0xMS0xLTEtNjY5MDQ_9a15f4f3-08a0-478c-92b5-3dc48b1372be">58,901</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net unrealized gain (loss) on available-for-sale investments, net of tax of $(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTAtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo3N2IxMjNjZmVjMjM0NjQyYWRiY2E5ZjRhNGU5MzYzZF84MA_af3f2851-7c1d-4668-9b3e-49d3a541d3f8">698</ix:nonFraction>)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTAtOS0xLTEtNjY5MDQ_20348bb2-9b6e-4dd1-bc19-88c88df68502">2,322</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTAtMTEtMS0xLTY2OTA0_b31ee235-48c4-49c0-afcf-051207fc4d4e">2,322</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTItOS0xLTEtNjY5MDQ_91487176-2bcc-4ade-ac73-e69ea354f6f4">12</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTItMTEtMS0xLTY2OTA0_80d2db52-aa45-4621-a79e-2e47bf920949">12</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTMtOS0xLTEtNjY5MDQ_a9e47fea-dbf9-4e2f-9927-b97d5cfeecf4">3,962</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTMtMTEtMS0xLTY2OTA0_ed99bee6-e8f6-4f39-9729-0405a7f5cfc3">3,962</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of July 3, 2022 (unaudited)</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtMS0xLTEtNjY5MDQ_ababb311-d5b4-4a7b-a374-a8f92d1defab">173,397</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtMy0xLTEtNjY5MDQ_67dcab9d-40f7-4032-866f-394897b9b46c">347</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i51449fbdc5674ff2849fb7e1008e0725_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtNS0xLTEtNjY5MDQ_a887c960-1e0e-422f-bda3-66418a41a1d6">947,269</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia063d6ebf39046338805f902de09ece7_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtNy0xLTEtNjY5MDQ_6c0aae3e-5dc6-4def-9635-4aa256e18afd">512,230</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id921fb2e59bf4a56a4ac20326a5d1b67_I20220703" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtOS0xLTEtNjY5MDQ_3a4fc1a9-e8d5-4781-ba14-8aa5be99e9a7">69,861</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtMTEtMS0xLTY2OTA0_f3162767-50d0-4303-b639-b89b01ac80a8">1,389,985</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr></table></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:29.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.297%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.738%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.444%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.437%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.974%"></td><td style="width:0.1%"></td></tr><tr style="height:30pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional<br/>Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Retained Earnings</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total<br/>Shareholders&#8217;<br/>Equity</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Par&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of April 4, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i518b4487112b4961b7947ef3908a67b3_I20210404" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi0xLTEtMS02NjkwNA_fbdf2f74-761b-4c73-b88d-70e980738bf1">176,608</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i518b4487112b4961b7947ef3908a67b3_I20210404" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi0zLTEtMS02NjkwNA_08681e10-bca1-4dd2-9c7c-0a46b1886640">353</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5ace0e76e3f948ff891a65aa0da45a61_I20210404" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi01LTEtMS02NjkwNA_b4cda562-8009-4f05-bdaf-af0a23c547be">854,491</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i83a98c21a59842379e15b3f946a2e1a6_I20210404" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi03LTEtMS02NjkwNA_924a52a5-b865-465d-a82f-2316c65b627b">540,686</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id29b49dd1d86487bba49667b83a6b115_I20210404" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi05LTEtMS02NjkwNA_9aff84eb-c76e-4ebb-9741-5012553a8ecc">38,529</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i63b6b28dd0af4a31bd162a966a337480_I20210404" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi0xMS0xLTEtNjY5MDQ_ed442fc6-d516-48d7-8e47-d076935e8d53">1,357,001</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net issuance of common stock under stock plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy0xLTEtMS02NjkwNA_b1bde3c1-932d-4258-a1e6-892dc60e9b45">277</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy0zLTEtMS02NjkwNA_61e6040a-42e8-406a-a431-05e95877d76c">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if8e3797e3b8d49f6a9e6801f7f9b21b5_D20210405-20210704" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy01LTEtMS02NjkwNA_b38e840e-71ce-42a1-9d8b-6582ef71fbbc">9,662</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy0xMS0xLTEtNjY5MDQ_7591f0a4-044d-4e74-a395-dcfae629773c">9,663</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC0xLTEtMS02NjkwNA_98a7683e-3c5c-43eb-a4da-40424dc87950">178</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC0zLTEtMS02NjkwNA_8bb489be-bf47-420c-8197-6089ccbda57e">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC03LTEtMS02NjkwNA_ea740bfe-0263-4387-be5c-22532f8c92e5">14,397</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC0xMS0xLTEtNjY5MDQ_fa896069-1cfd-4f15-ac88-757fefd2b6d5">14,398</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if8e3797e3b8d49f6a9e6801f7f9b21b5_D20210405-20210704" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNS01LTEtMS02NjkwNA_d83e4aa5-b32a-4348-be2a-8d78302e4515">10,730</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNS0xMS0xLTEtNjY5MDQ_4411b3f2-c980-49b6-b7d1-460b1446d8d4">10,730</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of dividends ($<ix:nonFraction unitRef="usdPerShare" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="3" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjE0M2NiNTM3N2UwZTQ4ZWY4OTdlMDY2NzBiOWI2ZjdiXzI3_8bb7600e-8866-4eb7-89e3-d679b3878173">0.060</ix:nonFraction> per common share)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNi03LTEtMS02NjkwNA_00a1d1e9-13df-4ee0-be49-940dede84ba3">10,597</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNi0xMS0xLTEtNjY5MDQ_288110cd-37a4-426c-9e0f-7604ddaf1752">10,597</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNy03LTEtMS02NjkwNA_6ce5f887-f052-4e9c-ac2b-f59d0bd9c817">77,598</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNy0xMS0xLTEtNjY5MDQ_d7cefbb5-849f-48b5-af0b-1c678c0877aa">77,598</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net unrealized gain (loss) on available-for-sale investments, net of tax of $(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfOC0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmMxYzMyNDkxNTRkYzQ3OTJhYTA0Y2M1MzU5MDg0NWM0Xzgw_6f3b7b4d-4540-4ed9-a17f-b58977f2b8b0">61</ix:nonFraction>)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfOC05LTEtMS02NjkwNA_912be9f9-5376-4ff6-9f6e-a41c5c9cdffb">138</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfOC0xMS0xLTEtNjY5MDQ_529932cc-b1f5-41ba-838c-274cc5c9c68e">138</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTAtOS0xLTEtNjY5MDQ_fdd0febd-c16c-41d9-9e70-2214cad17521">68</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTAtMTEtMS0xLTY2OTA0_cb33793e-c0a5-41c3-b386-e56664417733">68</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTEtOS0xLTEtNjY5MDQ_328a5d61-04d1-4b29-8768-846ac46f1135">337</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTEtMTEtMS0xLTY2OTA0_e30acdfd-e94e-4649-92fa-bf30ababf8e1">337</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of July 4, 2021 (unaudited)</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib4947ca801e140829772591d5172fdc4_I20210704" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItMS0xLTEtNjY5MDQ_17d1feb8-5f2f-4fde-86e7-b6cd95656a20">176,707</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib4947ca801e140829772591d5172fdc4_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItMy0xLTEtNjY5MDQ_817b8274-88fd-425e-bcf6-01d2277be8ed">353</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i00d322987b81436693ab321e89e4326c_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItNS0xLTEtNjY5MDQ_b85c8441-8eb9-451d-8ee9-c50f9b592511">874,883</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id5cba2ed375146ad91d7307545b63c80_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItNy0xLTEtNjY5MDQ_41078fe3-7d9c-413f-b189-121ab0d9d674">593,290</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0bc15bc08fc145b2a6b4cfb556ab1824_I20210704" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItOS0xLTEtNjY5MDQ_f2fa58ea-7b7e-44f6-ac52-601ee6aff424">39,072</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i987af0567ae743cca6c3024e14eb819b_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItMTEtMS0xLTY2OTA0_b8625557-6187-418b-8fa2-d7d05414ae4b">1,429,454</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr></table></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div style="margin-top:5pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(In thousands)</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:28.944%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.883%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.178%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.767%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.472%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.480%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.896%"></td><td style="width:0.1%"></td></tr><tr style="height:20pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional<br/>Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Retained Earnings</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total<br/>Shareholders&#8217;<br/>Equity</span></td></tr><tr style="height:20pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Par&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ife8ea1ce918d44c09f1ac4b4b89490ba_I20211231" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi0xLTEtMS02NjkwNA_291beac8-a584-4cdf-a65e-118d6267a60a">175,481</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife8ea1ce918d44c09f1ac4b4b89490ba_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi0zLTEtMS02NjkwNA_1459d49b-4686-48d1-a69c-f237544e9ef5">351</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i425d0838bc894e67bebedc750c61ad9c_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi01LTEtMS02NjkwNA_9c51d4a7-579f-4cfd-98a0-86a7d1bff5c2">914,802</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3de2b9b179b34515967701a54e4d1bb8_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi03LTEtMS02NjkwNA_bcfcb2ba-128a-4725-a0e0-df61b8d7af06">562,882</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie1b60b328835444ba7edf4132f25d071_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi05LTEtMS02NjkwNA_af894d41-e6e9-45d5-9c0c-094ac8c5cf63">47,942</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi0xMS0xLTEtNjY5MDQ_5d7dba2d-b247-4a28-a334-25d1738c2f30">1,430,093</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net issuance of common stock under stock plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy0xLTEtMS02NjkwNA_674f4bae-88c9-4db2-a242-2844e485cf82">183</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy0zLTEtMS02NjkwNA_9b853ea3-40e1-40fe-b8d6-1388c2df9784">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id3bf99c177844901b393b16edd9d925e_D20220101-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy01LTEtMS02NjkwNA_045c80f3-13a1-414f-83a7-a960d6835431">4,414</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy0xMS0xLTEtNjY5MDQ_d407e0b4-e588-4016-af8e-ee43765735cb">4,414</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC0xLTEtMS02NjkwNA_e27e2662-78e7-4e64-89f6-8015269317c6">2,267</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC0zLTEtMS02NjkwNA_a395fa46-9df0-4925-9bdc-5b614b5c27e3">4</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC03LTEtMS02NjkwNA_3ee21515-ffae-4a00-a5d4-c7d1e430def1">154,313</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC0xMS0xLTEtNjY5MDQ_edaecb1e-2016-4e3b-a2ec-c1202ac0149d">154,317</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id3bf99c177844901b393b16edd9d925e_D20220101-20220703" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNS01LTEtMS02NjkwNA_66fba8b0-2f64-45b7-bf1d-079053965041">28,053</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNS0xMS0xLTEtNjY5MDQ_9e85131b-09f8-4e3f-b0de-2a7417934f44">28,053</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of dividends ($<ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="3" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjYwODcwMDc5ZDFhNjQxMDY4ZDU0YTUxOGNmMTQxZjNmXzI3_4cac4fcd-ee62-4fbc-88ec-6b3b8483eda8">0.130</ix:nonFraction> per common share)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNi03LTEtMS02NjkwNA_fbf00cc6-e008-4003-8500-052522672bf8">22,573</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNi0xMS0xLTEtNjY5MDQ_494cbbf3-f5f1-4a8d-b4a8-880eae54a249">22,573</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNy03LTEtMS02NjkwNA_e1a6d313-08e4-4cec-b595-0eaaeef8d59a">126,234</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNy0xMS0xLTEtNjY5MDQ_f8eae8cc-020e-4713-b070-5e6a06c93da6">126,234</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net unrealized gain (loss) on available-for-sale investments, net of tax of $(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTAtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkNmFiOTMwOTAzNDk0Mjg4YWI5YTY2NDdiMWMwNDcwZl84MA_7fabd5ed-f91a-4f49-a300-98fb164f5530">4,734</ix:nonFraction>)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTAtOS0xLTEtNjY5MDQ_e981d4d4-6082-4d9a-bd78-8a694058f938">15,870</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTAtMTEtMS0xLTY2OTA0_ebc83bb9-8b4c-4db1-a2f8-2a3450217175">15,870</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTItOS0xLTEtNjY5MDQ_443bb0df-21d5-4b38-b6c8-410d2b7976eb">24</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTItMTEtMS0xLTY2OTA0_708e8643-7748-4f78-af91-3b4efaf62e12">24</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTMtOS0xLTEtNjY5MDQ_c9e5a794-e3a1-4f69-b1f3-00560e4af695">6,073</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTMtMTEtMS0xLTY2OTA0_f0ad02c1-93be-4c70-8358-efddda8a0ee4">6,073</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of July 3, 2022 (unaudited)</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtMS0xLTEtNjY5MDQ_5e1dbb21-da2d-4dcd-915d-397d20689412">173,397</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtMy0xLTEtNjY5MDQ_d157be47-2f9f-4c59-8248-4ba45189729d">347</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i51449fbdc5674ff2849fb7e1008e0725_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtNS0xLTEtNjY5MDQ_f26302b9-33be-4154-9a34-19dba9388dd8">947,269</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia063d6ebf39046338805f902de09ece7_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtNy0xLTEtNjY5MDQ_cdcb538d-7586-48af-8f01-92cdd3840af8">512,230</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id921fb2e59bf4a56a4ac20326a5d1b67_I20220703" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtOS0xLTEtNjY5MDQ_741c4b29-d1b9-4055-9e6f-f9d61398c427">69,861</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtMTEtMS0xLTY2OTA0_352915ef-57d4-4905-adf9-71aea446ff04">1,389,985</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div><div style="margin-top:5pt;text-align:center"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.110%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.797%"></td><td style="width:0.1%"></td></tr><tr style="height:27pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional<br/>Paid-in Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Retained Earnings</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total<br/>Shareholders&#8217;<br/>Equity</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Par&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i948e0aec57804f7ca76f62c5c0504c65_I20201231" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi0xLTEtMS02NjkwNA_4196e33c-b341-4dd1-81e8-bdc6e953a611">175,790</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i948e0aec57804f7ca76f62c5c0504c65_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi0zLTEtMS02NjkwNA_15d9583b-a603-490d-9ca7-9ee37dbeeb41">352</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb86921fa79b45458d499304d03ce1dc_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi01LTEtMS02NjkwNA_fea44a7b-dabb-4d58-9471-0950f7631e6a">807,739</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i876a2cc96328468bb85cd46eb074fd08_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi03LTEtMS02NjkwNA_5c16bf9a-e8e4-42e2-b093-4ce04984e74f">487,912</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i33abd1cff3a34debb7905724afbe1d51_I20201231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi05LTEtMS02NjkwNA_deac8024-382b-4e5e-ab67-b8def41b7297">33,801</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5c51190f418d4624a1ced49cafff6754_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi0xMS0xLTEtNjY5MDQ_7c0254f8-2d1c-44f3-9cdb-206a7576c361">1,262,202</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net issuance of common stock under stock plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy0xLTEtMS02NjkwNA_991a8e45-a0ac-4191-af4d-66a0adb86c12">1,175</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy0zLTEtMS02NjkwNA_f32206a2-88cb-4239-8523-5d6704762dfa">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieacc184623134bd7b7d06618f6706333_D20210101-20210704" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy01LTEtMS02NjkwNA_307c1b02-39a1-405b-bafd-7f5454e7f9f8">44,405</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy0xMS0xLTEtNjY5MDQ_50999b28-47a7-4f91-94f2-c6fd0743b111">44,407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Repurchase of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC0xLTEtMS02NjkwNA_24c1441a-f93e-4357-bace-f41fde99b632">258</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC0zLTEtMS02NjkwNA_ff7eaf1a-39cb-4abd-8bfe-4fad52c52ede">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC03LTEtMS02NjkwNA_36b08364-6635-4bc9-b15e-e5dccdcbe149">20,876</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC0xMS0xLTEtNjY5MDQ_306c048a-1943-4f5e-9fab-44240076ff2a">20,877</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieacc184623134bd7b7d06618f6706333_D20210101-20210704" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNS01LTEtMS02NjkwNA_1bc6e30d-0a67-4b20-991a-89ac535d0384">22,739</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNS0xMS0xLTEtNjY5MDQ_8c43c356-7660-4659-bb7e-72018ca47a61">22,739</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payment of dividends ($<ix:nonFraction unitRef="usdPerShare" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="3" name="us-gaap:CommonStockDividendsPerShareCashPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjkxNDA3Mzk1N2UzNjQ4NzJhNTBkNmMxMzY1OGFmZDgyXzI3_cf6ad501-0a9a-4398-9db0-20922ead25f0">0.120</ix:nonFraction> per common share)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNi03LTEtMS02NjkwNA_39ab83ae-8dde-4ff6-9bb5-c8bfbe5e22f8">21,192</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:DividendsCash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNi0xMS0xLTEtNjY5MDQ_82d884f0-df50-42de-a368-2db3495a49fb">21,192</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNy03LTEtMS02NjkwNA_b2d56acc-fcf9-4bc7-972c-759d7b3166b8">147,446</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNy0xMS0xLTEtNjY5MDQ_2d3bbda6-462d-4ae0-b688-7394a73d089a">147,446</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net unrealized gain (loss) on available-for-sale investments, net of tax of $(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTAtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoyNTAyYTVlZGE0OGE0MDFmOWVjMjM2MGRiZDIzODJlNl84MA_1cf9331c-7c08-4883-9381-904ca4beb51f">646</ix:nonFraction>)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTAtOS0xLTEtNjY5MDQ_3c56ceeb-a60c-4b06-9f4f-1d83b87f3402">2,096</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTAtMTEtMS0xLTY2OTA0_de2d1dce-d3df-4939-8866-f1412eb4fbee">2,096</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTItOS0xLTEtNjY5MDQ_60dd2b3c-3fca-44d3-8061-bf80b73efe51">68</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTItMTEtMS0xLTY2OTA0_cc35cce7-3f04-4229-b4d4-81bd8bbaf5a6">68</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTMtOS0xLTEtNjY5MDQ_6819c142-918c-4071-8c9a-59a60b904ccf">3,107</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTMtMTEtMS0xLTY2OTA0_d03176cd-c989-4110-8001-00453b9531f5">3,107</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance as of July 4, 2021 (unaudited)</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib4947ca801e140829772591d5172fdc4_I20210704" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtMS0xLTEtNjY5MDQ_455f8de6-447a-44fd-8e35-1dd8e0ab350d">176,707</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib4947ca801e140829772591d5172fdc4_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtMy0xLTEtNjY5MDQ_11a9fce7-258f-4b75-adcc-dbc86249ae16">353</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i00d322987b81436693ab321e89e4326c_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtNS0xLTEtNjY5MDQ_bf5a3664-1022-4a3f-a135-f84016e0a837">874,883</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id5cba2ed375146ad91d7307545b63c80_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtNy0xLTEtNjY5MDQ_d02efd0c-f1cb-40b2-9a88-8770ed497cc7">593,290</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0bc15bc08fc145b2a6b4cfb556ab1824_I20210704" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtOS0xLTEtNjY5MDQ_1c5bae9b-226f-4c86-8cc6-426cdd8e4776">39,072</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i987af0567ae743cca6c3024e14eb819b_I20210704" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtMTEtMS0xLTY2OTA0_96b9fd1f-f142-4066-b977-fb2039565a6a">1,429,454</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">8</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_37"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="text-align:center"><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div><div id="i439287817ac64be482e2ddc02068aa40_40"></div><div style="margin-top:6pt;text-align:justify"><span><br/></span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 1: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80MC9mcmFnOjdlODQyOTgyZGU4YTRhZDE5ZWY0NWM4NzBkMzY4NTEyL3RleHRyZWdpb246N2U4NDI5ODJkZThhNGFkMTllZjQ1Yzg3MGQzNjg1MTJfMTIxMg_e92bbe5a-4940-45f8-886f-26a14ae39b61" continuedAt="i45b9714b273e4988a8c18b610867cbc3" escape="true">Summary of Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="i45b9714b273e4988a8c18b610867cbc3"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2021 for a full description of other significant accounting policies.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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, adjustments related to the loss from fire (Note 17), and financial statement reclassifications necessary to present fairly the Company&#8217;s financial position as of July&#160;3, 2022, and the results of its operations for the three-month and six-month periods ended July&#160;3, 2022 and July&#160;4, 2021, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended July&#160;3, 2022 are not necessarily indicative of the results to be expected for the full year.</span></div></ix:continuation><div id="i439287817ac64be482e2ddc02068aa40_43"></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 2: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80My9mcmFnOmMzZDg5YWRkNmM0NDRlZDc5ZDNhZTM0MTA2ZDY0OTIzL3RleHRyZWdpb246YzNkODlhZGQ2YzQ0NGVkNzlkM2FlMzQxMDZkNjQ5MjNfMjU1NQ_cd570a10-1c2f-44df-bede-4d796c4311ac" continuedAt="i6dd4dd17bd5346dda904a95ec3ab105c" escape="true"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80My9mcmFnOmMzZDg5YWRkNmM0NDRlZDc5ZDNhZTM0MTA2ZDY0OTIzL3RleHRyZWdpb246YzNkODlhZGQ2YzQ0NGVkNzlkM2FlMzQxMDZkNjQ5MjNfMjU2MQ_a8a8b091-d4f5-40c5-80e4-91c252a0250f" continuedAt="if41faee8dc3a41ee9281a025419543ec" escape="true">New Pronouncements</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="i6dd4dd17bd5346dda904a95ec3ab105c"><ix:continuation id="if41faee8dc3a41ee9281a025419543ec"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">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"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU primarily address the accounting for contract assets and contract liabilities related to revenue contracts with customers in a business combination. The ASU clarifies that an acquirer should account for the related revenue contracts in accordance with Accounting Standards Codification 606 as if the acquirer had originated the contracts. The amendments in this ASU are effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, although early adoption is permitted. The amendments in the ASU should be applied prospectively to business combinations occurring on or after the effective date of the amendments. The expected financial statement impact of this new accounting standard cannot be reasonably estimated at this time, as the impact in future periods will depend on the contract assets and contract liabilities acquired in future business combinations. Management does not expect this ASU to have a material impact on the Company's disclosures.</span></div></ix:continuation></ix:continuation><div style="margin-top:6pt;text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">9</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_46"></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 3: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:FairValueDisclosuresTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMjI2OQ_8e8c693f-115b-4886-8aff-046ed9381f42" continuedAt="ib3383726a0a14d83819749244c613c26" escape="true">Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="ib3383726a0a14d83819749244c613c26"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMjI3MA_dc5958a8-df49-4b23-853f-1884cd79e4b4" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:49.998%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.714%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted&#160;Prices&#160;in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMi0xLTEtMS02NjkwNA_cdffb168-2ded-4b08-a659-679e1b184bba">3,149</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3a16d4b0e1b0474cad19d38781816a46_I20220703" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMi0zLTEtMS02NjkwNA_5c0ef43c-f3dc-433f-b762-7f199e47268c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMi01LTEtMS02NjkwNA_7f2dbb9e-7103-42aa-afb8-edf3b2334ab2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0360ee575d9e4e86a0f47ae967c21213_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMy0xLTEtMS02NjkwNA_a4830f9a-df2b-48e6-a1d1-e7b6f1d365dd">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if757f38f5bdd4c939d049d87a95ac59c_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMy0zLTEtMS02NjkwNA_e871756d-dc0f-4208-a05d-fa4253962472">495,188</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic4ea99863df44db7aea0439c7419ae6f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMy01LTEtMS02NjkwNA_af613ff2-d039-48b4-b3a1-d58984a1e016">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id81ee529a1314ca3934d96b838a5ea94_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNC0xLTEtMS02NjkwNA_041d7475-a875-4e39-9bc7-c300eeb48e92">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie008d184b61246e58c1233ccc0c7b409_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNC0zLTEtMS02NjkwNA_ad8e9597-b0fd-43b9-ab8d-b1a68cdb739e">70,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i77f4cad60bfb4a29b34b64cb4a574ae6_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNC01LTEtMS02NjkwNA_eec3135c-702e-411f-bee8-47a4e883398e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ed35f25c979426da39ab75c7c9b65ac_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNS0xLTEtMS02NjkwNA_9f0044e3-1b90-49d0-9cf5-731592ff6c03">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i89f526d469034bf092990480cd44610b_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNS0zLTEtMS02NjkwNA_66ea633b-3402-4926-9fef-296a049c5da4">25,030</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i03287ddc4b1e4a2d9a1b4b116aed7bd1_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNS01LTEtMS02NjkwNA_f56390fb-a83a-4dbf-a571-ad6f4e267489">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i14f7ade48dd54ff9ab5002d2356dfaa1_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNy0xLTEtMS02NjkwNA_fca76e39-d23e-4381-995d-473028c5e6b1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic35b7db1aa71474aaacaf2aac2fbe17a_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNy0zLTEtMS02NjkwNA_fe9f0a9b-26d7-4827-86e3-33cd4bf58c41">18,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i92f7d65fd1294f6684660a2833f6f67a_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNy01LTEtMS02NjkwNA_cab15cee-cf7c-44cc-b970-1931150b4ab7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i900d6293cd6a4957a9c87db519f706e2_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOC0xLTEtMS02NjkwNA_f0c34bbc-ffee-48bb-afd6-186d7c9eb7ee">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0133b6a15012403c9aae6b02d26c2e76_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOC0zLTEtMS02NjkwNA_75735fad-8eec-465e-9ece-36ab56341db1">1,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i981d4f1eccab456885f61e1d738832ac_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOC01LTEtMS02NjkwNA_d3bfee60-78b5-4621-ab60-f8580597edf4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3e4fb536e6844ec69ddacc2e35b4e58f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOS0xLTEtMS02NjkwNA_8d424e9d-874a-4658-9ac7-1dc7661713ec">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i684a6e1d7eee441cb8946daac707f994_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOS0zLTEtMS02NjkwNA_960a2004-d69b-4473-889d-e84bba6cb0cb">624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i26f8465ff4884c99b77e93ad07d51a88_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOS01LTEtMS02NjkwNA_fa663e5f-3b17-41a7-b547-93924dc485ff">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTQtMS0xLTEtNjY5MDQ_0bc83dd9-6d09-42b4-a862-407708a65593">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3a16d4b0e1b0474cad19d38781816a46_I20220703" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTQtMy0xLTEtNjY5MDQ_3399f9af-f08c-47b3-8793-3de2b4da3c9e">46</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703" decimals="-3" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTQtNS0xLTEtNjY5MDQ_c8367bee-e2f3-4af2-837b-7056742c47f9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTctMS0xLTEtNjY5MDQ_d0d7b0fa-8134-43cd-910c-926abc14464d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3a16d4b0e1b0474cad19d38781816a46_I20220703" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTctMy0xLTEtNjY5MDQ_f16605df-174a-42ef-b88b-891cbefe8cd2">425</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703" decimals="-3" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTctNS0xLTEtNjY5MDQ_16d215b4-6128-4f5a-944d-484e31a835ba">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;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. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;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.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of the contingent consideration liability related to the Company's acquisition of GVi Ventures, Inc. in 2017 was written down to <ix:nonFraction unitRef="usd" contextRef="i9eae83011fcf441195104bd4730e5860_I20191231" decimals="INF" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMTYzNQ_cb59a335-1c2a-4e28-8d36-043045a7c8a7">zero</ix:nonFraction> in 2019 resulting from a lower level of revenue in the Americas' automotive industry. The balance remained at <ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMTc0OA_7d28556f-f9b1-4519-b8b5-51411f248902">zero</ix:nonFraction> through the remainder of the five-year assessment period which concluded during the six-month period ended July&#160;3, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 did not record impairment charges related to non-financial assets during the three-month or six-month periods ended July&#160;3, 2022 or July&#160;4, 2021.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">10</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_49"></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 4: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:CashAndCashEquivalentsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfNTQ5NzU1ODE5NzQy_9ce4f058-184f-46a6-9421-11a34921b36f" continuedAt="i75eae9aeb9ea4cb79b031946a991e0a9" escape="true">Cash, Cash Equivalents, and Investments</ix:nonNumeric></span></div><ix:continuation id="i75eae9aeb9ea4cb79b031946a991e0a9" continuedAt="i0bdfc6872d094f72b44d303f8a686dbe"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU4Mw_df9342f7-4d2a-4dbc-bc92-7cfe1014ea8d" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.911%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.031%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMS0xLTEtMS02NjkwNA_f1f77d63-b22c-49a8-8df8-0ae125d97270">173,373</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:Cash" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMS0zLTEtMS02NjkwNA_f1d2e8b6-5561-467d-ac57-8a4a12a05472">185,624</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0xLTEtMS03MTI5MA_471142ae-e30b-47fc-94e1-36b78afa5919">3,149</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:MoneyMarketFundsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0zLTEtMS03MTI5MA_190b027c-7fe7-4251-a552-d3a213d91c15">537</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0xLTEtMS02NjkwNA_2f6d1285-0da6-440a-b843-b23c7d87d6a0">524</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CashEquivalentsAtCarryingValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0zLTEtMS02NjkwNA_4ce17b0f-51f2-45ce-b03f-087fc90fb945">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNS0xLTEtMS02NjkwNA_85f840f2-91c0-4c09-81de-7428c32063b4">177,046</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNS0zLTEtMS02NjkwNA_822b556b-c857-4f18-a698-bbc94f737c51">186,161</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNi0xLTEtMS02NjkwNA_c433e826-e4e2-4169-a7e4-627f0cf28897">124,805</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3c1b7f60bfd648e6835f8baadffaaca3_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNi0zLTEtMS02NjkwNA_14f60431-e2b1-48b4-97e9-b3b8e04faea2">73,088</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNy0xLTEtMS02NjkwNA_4848e4f8-1926-406a-9dda-055aa6db569a">26,465</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3185613bcd024576a3d64e9e02161f8e_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNy0zLTEtMS02NjkwNA_b9cf10e6-48da-47cb-bfad-6734c8767582">37,655</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOS0xLTEtMS03MDMzMA_0fde9100-d6a7-47e4-8a3d-f464cc21f023">18,578</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1386388acc254a53b261cd51f0b27108_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOS0zLTEtMS03MDMzMA_883878d6-492d-4e87-b7b3-98d225a053f3">2,802</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOC0xLTEtMS02NjkwNA_c17d74c5-c823-4d1d-8073-661ade7e6d75">12,162</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab5936e583b74fb4b0603159a8da7d6a_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOC0zLTEtMS02NjkwNA_f4a76a28-5e55-4948-811c-bc9d9bd4d57d">18,912</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTAtMS0xLTEtNjY5MDQ_9792ff88-bf34-4f93-9015-360337990e61">624</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie7fa7e149f9342268a593002c6c0481a_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTAtMy0xLTEtNjY5MDQ_6458abba-3bd8-48bf-bc63-29c82b81e0a0">4,998</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTUtMS0xLTEtNjY5MDQ_f1805d32-780b-460d-bfd2-dea079412565">182,634</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTUtMy0xLTEtNjY5MDQ_becbc66f-35cb-44be-b1b8-c070efce671f">137,455</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTYtMS0xLTEtNjY5MDQ_40fa8483-d384-4150-9375-f11e2628190f">370,383</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3c1b7f60bfd648e6835f8baadffaaca3_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTYtMy0xLTEtNjY5MDQ_e9d25f4f-10f0-4c5e-abdd-b6691a539474">481,218</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTctMS0xLTEtNjY5MDQ_554354fd-ccaf-4f91-9826-4da65939fe84">43,698</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3185613bcd024576a3d64e9e02161f8e_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTctMy0xLTEtNjY5MDQ_49035a38-adde-4c6d-b47c-a4fc5f606feb">43,940</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTktMS0xLTEtNjY5MDQ_8625ae95-ac03-4632-8257-89400ca5d8cb">12,344</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab5936e583b74fb4b0603159a8da7d6a_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTktMy0xLTEtNjY5MDQ_79856a00-a4ff-4f75-accb-a0ba8b73f49d">39,753</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i81fa8af1f8ee45db904a3f8ea5d82771_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjAtMS0xLTEtNjY5MDQ_9aaccdf9-62db-4b7f-9a73-a727bdb6b599">1,976</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b3bbfecc52f45bebb2ee45673bba91f_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjAtMy0xLTEtNjY5MDQ_16a40239-4e52-4ee0-81f8-248e0b3f05d6">2,119</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjItMS0xLTEtNzAzMzY_400cf600-1cbe-4d7e-9bac-3bd21f3f9fe2">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1386388acc254a53b261cd51f0b27108_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjItMy0xLTEtNzAzMzY_1aee3ce9-4fea-4c99-9cce-9ce2223b5b9e">16,077</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjEtMS0xLTEtNjY5MDQ_64e9500a-b7f5-4502-ae13-d52ffab5076a">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie7fa7e149f9342268a593002c6c0481a_I20211231" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjEtMy0xLTEtNjY5MDQ_00d6f8ff-8bde-4b97-9b6d-e0bf65def2a0">641</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LongTermInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjQtMS0xLTEtNjY5MDQ_3edfa1f4-6172-4c40-9ae7-215c98a1886a">428,401</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:LongTermInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjQtMy0xLTEtNjY5MDQ_398f3022-f37e-4872-b3ee-36c15fb1efb5">583,748</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:CashCashEquivalentsShortTermAndLongTermInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjUtMS0xLTEtNjY5MDQ_f773a7e4-493c-4d8f-b975-1955e0af5ad1">788,081</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="cgnx:CashCashEquivalentsShortTermAndLongTermInvestments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjUtMy0xLTEtNjY5MDQ_c281d728-4bf1-4f10-83fe-5d6501491e8d">907,364</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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; agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All of the Company's securities as of July&#160;3, 2022 and December&#160;31, 2021 were denominated in U.S. Dollars.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $<ix:nonFraction unitRef="usd" contextRef="i79ea79df485441d3a01bc5840570243f_I20220703" decimals="-3" name="us-gaap:InterestReceivable" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfOTU0_30a4f805-fac7-49e6-bdb3-3c099bb17343">2,732,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="ia019108500434dc69ff1453b0ebb35f5_I20211231" decimals="-3" name="us-gaap:InterestReceivable" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfOTYx_74d6f36c-32e0-4b08-a4a6-04732895b965">3,037,000</ix:nonFraction> as of July&#160;3, 2022 and December&#160;31, 2021, respectively.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="i0bdfc6872d094f72b44d303f8a686dbe" continuedAt="if5828440d40d4cf2a07de82613bb22f3"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU5Mw_966edc4b-7cc5-47e4-bd0c-dba686eb72b4" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s available-for-sale investments as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:42.741%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.536%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.243%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.389%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.392%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi0xLTEtMS02NjkwNA_c2837f64-e664-4780-aded-05104a65970b">126,286</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi0zLTEtMS02NjkwNA_679304c4-1d4c-42a3-bca0-583367161b9a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi01LTEtMS02NjkwNA_be9b7fdd-12b3-425f-baf0-d0edadb379b9">1,481</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi03LTEtMS02NjkwNA_885b6e22-0270-4b05-b9b8-22a00b2ef08f">124,805</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy0xLTEtMS02NjkwNA_0973f06d-e3a9-4689-88f0-40fb71cce7e8">26,756</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy0zLTEtMS02NjkwNA_7acb1501-4b10-4773-8e7e-f9a21003c747">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy01LTEtMS02NjkwNA_e3c91403-1d7a-4d0d-b59a-4d546462a8d5">291</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy03LTEtMS02NjkwNA_f22cd27c-2f91-48f6-8641-01e4f2757ed0">26,465</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0xLTEtMS03MDM0Mg_1b1d695c-b513-49b9-9760-ce3b1e503b77">18,936</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0zLTEtMS03MDM0Mg_682461f3-df40-4ccd-880b-7c8b000badb4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi01LTEtMS03MDM0Mg_6537d179-68c1-4a73-8820-fc0b934d4f8f">358</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi03LTEtMS03MDM0Mg_dc57ee88-2c4c-4994-96d6-195e74a9b817">18,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0xLTEtMS02NjkwNA_86184443-c290-4f12-96fb-eeb97b4fbf3a">12,236</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0zLTEtMS02NjkwNA_6e90f127-1fc1-4445-a0f0-8a408709466b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi01LTEtMS02NjkwNA_be9fd1f4-a118-4238-90bc-cbd1d55a60f0">74</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi03LTEtMS02NjkwNA_18855c95-7ef1-4a4e-8fce-3e97bac5e53d">12,162</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i941a929dd1904e5db2765c1c20361836_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC0xLTEtMS02NjkwNA_bfe6fd67-415a-40f1-b291-1f9bba63bb53">635</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i941a929dd1904e5db2765c1c20361836_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC0zLTEtMS02NjkwNA_5e6c8d5d-b962-4ea6-8f8b-9dad479686cf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i941a929dd1904e5db2765c1c20361836_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC01LTEtMS02NjkwNA_66c7e3a7-75f5-4881-8e82-a51353c4a930">11</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i941a929dd1904e5db2765c1c20361836_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC03LTEtMS02NjkwNA_90afb4c6-1d76-4f35-9c66-cf82cc11031a">624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtMS0xLTEtNjY5MDQ_8df3d656-da95-4ee5-9966-2c92cf55e99e">390,702</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtMy0xLTEtNjY5MDQ_21f61138-3e22-45de-b136-0201854f7217">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtNS0xLTEtNjY5MDQ_7c19047b-12f5-4bdc-9a4c-97907525bddc">20,319</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtNy0xLTEtNjY5MDQ_8b88126b-7755-4630-8baf-2aba0b338e99">370,383</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItMS0xLTEtNjY5MDQ_49a0a18a-e048-453d-a3fa-f656e22f04fe">45,269</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItMy0xLTEtNjY5MDQ_8307eb7c-2568-483c-9c23-4f841466f983">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItNS0xLTEtNjY5MDQ_34e2e729-6ba5-45fc-93f4-697dff6e6df5">1,579</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItNy0xLTEtNjY5MDQ_aa7d0fce-a6f6-4420-bd08-dcfcf5f2aad4">43,698</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i838e088964e04214af67aab7ae8bee29_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtMS0xLTEtNjY5MDQ_ddbf3691-7327-44c8-8e4a-54e9ede29ad3">12,580</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i838e088964e04214af67aab7ae8bee29_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtMy0xLTEtNjY5MDQ_c219f7d6-a92a-4b50-8673-8263d93bab9d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i838e088964e04214af67aab7ae8bee29_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtNS0xLTEtNjY5MDQ_e8a3d005-aad7-43b3-8c6d-c6a2d1e4bac4">236</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i838e088964e04214af67aab7ae8bee29_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtNy0xLTEtNjY5MDQ_162f5f4b-17f4-4c91-8903-f5736f4a49b9">12,344</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id89647d516424703a73aa6bba2954718_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtMS0xLTEtNjY5MDQ_a1818cd4-054a-4205-8ff0-27a654639c8b">2,118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id89647d516424703a73aa6bba2954718_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtMy0xLTEtNjY5MDQ_8f2c52b9-fa03-49f4-b070-7016177bda28">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id89647d516424703a73aa6bba2954718_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtNS0xLTEtNjY5MDQ_4533c59b-cf16-4378-bfca-6748ded805e3">142</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id89647d516424703a73aa6bba2954718_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtNy0xLTEtNjY5MDQ_66a41cab-d1ef-491d-9460-8aaa55cdcccc">1,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctMS0xLTEtNjY5MDQ_c0c8ac74-c993-46ca-a10f-13ff72091200">635,518</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctMy0xLTEtNjY5MDQ_08dff0bc-719e-47b3-96ae-11aef7df212d">8</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctNS0xLTEtNjY5MDQ_e9b96d13-4cd6-4913-a5b0-3ea30d902943">24,491</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctNy0xLTEtNjY5MDQ_e92ca8da-531d-49d1-8187-599caf16449c">611,035</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU2NA_a41a925c-9eac-47bd-af63-73045a3d0f71" continuedAt="i4c2547b5f57d4e14a9deeb074650639f" escape="true">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July&#160;3, 2022 (in thousands):</ix:nonNumeric></span></div><div style="margin-top:6pt"><ix:continuation id="i4c2547b5f57d4e14a9deeb074650639f"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:30.711%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.651%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.651%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.651%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.651%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.651%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.654%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy0xLTEtMS02NjkwNA_7963752d-ee62-4a8f-832b-237fe47c04c6">443,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy0zLTEtMS02NjkwNA_e0682f8e-dbbf-4cca-a235-b4106eac03d3">19,208</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy01LTEtMS02NjkwNA_7adc49db-e99d-4324-aac6-04a2cc8fd5a9">51,797</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy03LTEtMS02NjkwNA_24e9fc81-ff45-40e9-9016-55d3c9161a20">2,592</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy05LTEtMS02NjkwNA_0ac3ee01-8689-4987-9918-8ee25adabf4f">495,188</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy0xMS0xLTEtNjY5MDQ_dbf70282-68f6-4bc3-9f73-31f39d36ad3a">21,800</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC0xLTEtMS02NjkwNA_ac619b1f-86be-4fd8-ad85-88a9db2c7dc4">67,533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC0zLTEtMS02NjkwNA_7a3dfdd5-584b-47c2-95c0-5f6757014ad7">1,867</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC01LTEtMS02NjkwNA_58b9d43e-8511-4d78-b930-8042354d9ccf">323</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC03LTEtMS02NjkwNA_8fd44ae0-8f2a-4c57-8a71-60a1ea07b2dd">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC05LTEtMS02NjkwNA_aad6bb6d-3e55-4f47-be1c-ef15aa868117">67,856</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC0xMS0xLTEtNjY5MDQ_d7da2e38-44e9-4e03-b48d-de44d4b0e8f4">1,870</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS0xLTEtMS02NjkwNA_d1857d53-e929-40a0-92e3-4c2aff07f355">22,246</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS0zLTEtMS02NjkwNA_a302d37c-e0d9-4538-a0d5-b1e22c93162b">307</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS01LTEtMS02NjkwNA_0e440ea4-6668-453e-be64-cc168573a8dd">102</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS03LTEtMS02NjkwNA_b0444de4-5a90-4b7b-ae8a-e26fbc9bb752">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS05LTEtMS02NjkwNA_529f4c63-5607-44cd-b9f1-362bd3b8b093">22,348</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS0xMS0xLTEtNjY5MDQ_b31a8ab6-8661-4bea-825e-70bae46e546d">310</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi0xLTEtMS02NjkwNA_2ee36a2b-e2eb-4ef3-93a6-6166c2b77fa8">18,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi0zLTEtMS02NjkwNA_e110eb7b-5efa-470a-a757-bb8a2221efb9">358</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi01LTEtMS02NjkwNA_cd1576a8-9130-445d-92f3-9ac9bc283056">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi03LTEtMS02NjkwNA_bafa6396-cdad-4090-ac88-a2aa9395b866">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi05LTEtMS02NjkwNA_fbc68a30-5506-46db-ad55-da66141b3e85">18,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi0xMS0xLTEtNjY5MDQ_ded89696-7c77-49b4-8008-a95845edf751">358</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy0xLTEtMS02NjkwNA_c31a642b-0975-4c34-ad4c-ff8e3c83ef03">1,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy0zLTEtMS02NjkwNA_35306006-d1e5-4348-9a62-743378331469">142</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy01LTEtMS02NjkwNA_4f53b735-a057-48fd-b0a3-cf45afb21428">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy03LTEtMS02NjkwNA_eaacb8f2-c52d-4d72-ae73-94184b257eb1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy05LTEtMS02NjkwNA_0a54b4ed-a607-46b2-8846-0c2fc767de57">1,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy0xMS0xLTEtNjY5MDQ_98dc9b56-eebe-434a-bf34-1b9a7e2ba0a2">142</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC0xLTEtMS02NjkwNA_3627aabb-126c-4716-90bf-f0d7901dddcf">624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC0zLTEtMS02NjkwNA_1baeb499-1cd5-4e89-87f5-f72b6a5ddb24">11</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC01LTEtMS02NjkwNA_57434680-231f-46b7-aad4-07e7d23f2ac1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC03LTEtMS02NjkwNA_9a8e567c-7653-4071-864a-c56144af141d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC05LTEtMS02NjkwNA_fa69b2d9-9bdf-46d2-b73c-9984c5c70bb3">624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC0xMS0xLTEtNjY5MDQ_3afcb65f-d606-49ca-b9dc-cc2e70b2c083">11</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtMS0xLTEtNjY5MDQ_8720ab2f-f933-4606-866b-27565ae9505b">554,348</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtMy0xLTEtNjY5MDQ_100066ef-10be-4cb9-b2a8-cda9a2fe3a61">21,893</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtNS0xLTEtNjY5MDQ_f0510572-3dbe-4ab6-8a49-b5e7295cd7a4">52,222</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtNy0xLTEtNjY5MDQ_29ea6c8b-6d8c-489f-a5a0-63d4603befdb">2,598</ix:nonFraction>)</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtOS0xLTEtNjY5MDQ_b92ef149-9fa4-4468-b2f3-ca40d083539a">606,570</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtMTEtMS0xLTY2OTA0_335bd059-1d56-4b50-a4f1-985528e8ab27">24,491</ix:nonFraction>)</span></td><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"></td></tr></table></ix:continuation><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:79.341%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.459%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management monitors debt securities that are in an unrealized loss position to determine whether a loss exists related to the credit quality of the issuer. When developing an estimate of expected credit losses, management considers all relevant information including historical experience, current conditions, and reasonable forecasts of expected future cash flows. Based on this evaluation, <ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY2OQ_389fd245-36c3-4879-8c03-565f8698ac50"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY2OQ_3b6164f5-698a-47b3-bb61-5a676f4ecd4e">no</ix:nonFraction></ix:nonFraction> allowance for credit losses on debt securities was recorded as of July&#160;3, 2022 or December&#160;31, 2021. There was <ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_31f4aee1-013a-440e-af55-4fe31a2eed9c"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_74fa1312-f3bf-460a-9b5f-66b8701522c5"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_84fd9ea1-f0e7-490d-8ea9-e8592ea063cc"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_f08c2d60-5cf9-452e-aede-d9bda28756f6">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> activity recorded in the allowance for credit losses during the three-month or six-month periods ended July&#160;3, 2022 or July&#160;4, 2021.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded gross realized gains on the sale of debt securities totaling $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTk1NA_8f245812-197e-445b-b44d-d297c3a4676c">15,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTk2MQ_40177431-7cfb-40b3-b024-bc3af88584b5">133,000</ix:nonFraction> for the three-month and six-month periods ended July&#160;3, 2022, respectively, and gross realized losses on the sale of debt securities totaling $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY0OTI2NzQ0NTYzNg_3e595103-8840-4cd5-a16d-b6fc415529cc">3,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY0OTI2NzQ0NTY0Mg_7633a0fc-632d-456d-b734-4d0bb7dbb90b">157,000</ix:nonFraction> for the three-month and six-month periods ended July&#160;3, 2022. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzU5Mg_94a02ce0-dc93-4640-a21b-65ac05b5a1c2"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedGain" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzU5Mg_c1597a82-35ed-4c90-abcb-a16c997bbbe7">68,000</ix:nonFraction></ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzM1OA_4b9e80ae-a202-47e0-95c5-8edc1dc64c1e"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzM1OA_a240499a-4e06-47e4-a63a-e411deef95a5">0</ix:nonFraction></ix:nonFraction>, respectively, for both the three-month and six-month periods ended July&#160;4, 2021. Realized 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, were recorded in shareholders&#8217; equity as accumulated other comprehensive loss.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="if5828440d40d4cf2a07de82613bb22f3"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU1MA_daedb337-a28d-42fc-b8e2-b77a9aa2157c" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:35.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:9.287%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS0xLTEtMS02NjkwNA_2b882e0e-b786-46f9-8e56-f07c35232938">124,805</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS0zLTEtMS02NjkwNA_2fd17428-0bbd-4b85-b7a4-41d2851c8e07">177,030</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS01LTEtMS02NjkwNA_5c773b04-5081-4b2d-ab44-c706149b3450">129,638</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS03LTEtMS02NjkwNA_3d10b2b7-3889-41e1-b280-6c0e927d4a62">51,152</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS05LTEtMS02NjkwNA_635c174c-7dc5-4fb7-ad95-4b4909059daa">12,563</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS0xMy0xLTEtNjY5MDQ_11841843-14a4-4167-9d55-885978cbbaa0">495,188</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi0xLTEtMS02NjkwNA_97e66efc-790e-4644-bf3d-c57fab65e785">26,465</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi0zLTEtMS02NjkwNA_b57ded4c-a1ae-4f2c-9d6a-55ce172bc1c6">27,660</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi01LTEtMS02NjkwNA_4cec96da-502f-414b-a1ae-6b134247f745">6,176</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi03LTEtMS02NjkwNA_0cf87f9a-ad10-40e7-8db4-013ae3137bc9">9,862</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi05LTEtMS02NjkwNA_10fc050a-04b6-4509-8ef6-ea0abfbadeed">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi0xMy0xLTEtNjY5MDQ_0ec06050-c37d-416d-9661-ca90a29260e7">70,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy0xLTEtMS02NjkwNA_3adeb696-a4c7-4089-b717-35bb90117f50">12,162</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy0zLTEtMS02NjkwNA_43c0f6e4-7af6-4bb8-af40-298ba2ad6a4d">9,852</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy01LTEtMS02NjkwNA_eb7ed397-a39f-4158-a1fd-daae04515d0c">2,492</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy03LTEtMS02NjkwNA_fc6ec3b3-0e7f-4a44-bfa7-b3661a14277e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy05LTEtMS02NjkwNA_8054a22f-d8f8-410e-ad79-21db8a4889a2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy0xMy0xLTEtNjY5MDQ_d53a8e60-6f81-4589-aec7-18010de5334a">24,506</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi0xLTEtMS02NjkwNA_daf46663-f0b8-46ca-99b9-5573a580a0ce">18,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi0zLTEtMS02NjkwNA_62c8f195-e11c-4cec-808f-f824517a0026">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi01LTEtMS02NjkwNA_f04e4f6e-7f58-44e8-a6d4-cee4b8ddb9fb">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi03LTEtMS02NjkwNA_b47481cd-cb47-466d-a23f-a909ca112f39">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi05LTEtMS02NjkwNA_63fcb830-8c5d-42a4-9812-6c3f5940d40c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi0xMy0xLTEtNjY5MDQ_090a0c45-e81d-428b-a127-eabb3542f4a1">18,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy0xLTEtMS02NjkwNA_0f6c99aa-392c-4aa8-a81e-32ad072ac7e3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy0zLTEtMS02NjkwNA_32706da6-bd08-41c1-a5f0-b253303645e9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy01LTEtMS02NjkwNA_2fb4ed0b-79de-4835-bc8f-5e49c25f1ebc">992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy03LTEtMS02NjkwNA_446b789b-a46b-4d5a-8d28-4fcbf44d6272">984</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy05LTEtMS02NjkwNA_c683561d-214f-4828-ac7c-65a1673f7a46">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3eac359d8944078829b16ee8b107930_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy0xMy0xLTEtNjY5MDQ_b52b4a6f-5e3b-45ba-bcd0-a61bc9a71d2b">1,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC0xLTEtMS02NjkwNA_107cf484-3c4b-4795-8af2-3f8a4a7ceb4a">624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC0zLTEtMS02NjkwNA_cc782869-df8f-4e92-aa3c-2c40062029c3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC01LTEtMS02NjkwNA_ebc8b333-7a62-41f5-8f77-b9aafb11778a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC03LTEtMS02NjkwNA_492bebed-d33a-4ecd-bcdc-11b99cdcd9bd">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC05LTEtMS02NjkwNA_dbaf5465-2335-4113-b26f-509d45390b66">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC0xMy0xLTEtNjY5MDQ_a55682e6-5126-48e4-b829-1f8901d5d47a">624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtMS0xLTEtNjY5MDQ_bceac75e-418b-4d4d-af5e-ff6ffefea27e">182,634</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtMy0xLTEtNjY5MDQ_7290fe7e-f37d-4a26-8337-d5c52f7d8fe1">214,542</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtNS0xLTEtNjY5MDQ_60410140-ddc3-40e3-b8a1-ca4869f2adc9">139,298</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtNy0xLTEtNjY5MDQ_b7b35894-9d30-4c10-b54c-c0bebbcc5da7">61,998</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtOS0xLTEtNjY5MDQ_62cf3275-540d-4969-90fa-9b5562a7d101">12,563</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtMTMtMS0xLTY2OTA0_7b8e863b-ad39-4f7c-85a3-22dc2639ede3">611,035</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-top:5pt"><span><br/></span></div><div id="i439287817ac64be482e2ddc02068aa40_52"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 5: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:InventoryDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RleHRyZWdpb246ZTRjNjk5YzQ0ZTkzNDI1ZGFmMjUxMWQ2MjUyNzcxYmVfOTU_9af48884-9d25-4576-ade4-af97139049ba" continuedAt="i4d822ee8011a4c7c8d2ce2024cb6a7ce" escape="true">Inventories</ix:nonNumeric></span></div><ix:continuation id="i4d822ee8011a4c7c8d2ce2024cb6a7ce"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RleHRyZWdpb246ZTRjNjk5YzQ0ZTkzNDI1ZGFmMjUxMWQ2MjUyNzcxYmVfOTg_ebfe0af3-2f32-4d49-9827-3b2bf7634a4f" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.911%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.028%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.031%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMS0xLTEtMS02NjkwNA_d970b126-20e1-49bd-8756-5a72a0ccec00">41,568</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMS0zLTEtMS02NjkwNA_ea9edd87-0384-4c6f-9143-56dc99067a5a">50,452</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMi0xLTEtMS02NjkwNA_2fbfdb86-107c-4765-976a-b76ad97ed0a5">1,704</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMi0zLTEtMS02NjkwNA_cb44778e-26f5-4668-ad52-47453df64d3f">5,293</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMy0xLTEtMS02NjkwNA_48a2723d-5984-480c-b1cd-3c616c122eb8">52,740</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMy0zLTEtMS02NjkwNA_9c1a2291-819b-4f56-aba5-ff5622b88ef2">57,357</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfNC0xLTEtMS02NjkwNA_e2c15102-43b5-46e3-af95-819352d9291e">96,012</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfNC0zLTEtMS02NjkwNA_f9bd03df-f2ac-4c9f-81b8-7c693bc788ea">113,102</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 17 for information regarding losses incurred from the fire at the Company's primary contract manufacturer's plant in Indonesia during the three-month period ended July&#160;3, 2022, including the impact on inventories.</span></div></ix:continuation><div id="i439287817ac64be482e2ddc02068aa40_55"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 6:&#160;<ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTgzMA_2d67dd8a-8cac-46df-b67d-750e6460f5a6" continuedAt="ia9bcfca5119e4c0685a76bf37a1d8820" escape="true">Leases</ix:nonNumeric></span></div><ix:continuation id="ia9bcfca5119e4c0685a76bf37a1d8820" continuedAt="i36ced123fd0645a7a9c33f83510bfa54"><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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. </span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022, there were no options to terminate that were accounted for in the determination of the lease term for outstanding leases, and three options to extend that were accounted for in the determination of the lease term of three of the Company's 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 July&#160;3, 2022.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfOTA3_2b770fc5-5f0c-41b3-8552-9165513ba826">2,215,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfOTE0_1c2f9996-0674-4c5a-b5b9-bc3b8d1bed4a">4,444,000</ix:nonFraction>, respectively. The total operating lease cash payments for the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTAyMQ_e686609c-b567-4dd4-8e45-5275fa065c6a">2,227,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTAyOA_50eeafff-2d60-475a-92b1-013a9706dee3">4,306,000</ix:nonFraction>, 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 for the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI0Nw_3e9982f5-43e8-4dde-a0c5-4eb7880b4fbd">37,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI1NA_bb059e82-2ae0-4bf0-82a9-c7a40a6fc566">75,000</ix:nonFraction>, respectively.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMDcwNg_75272e08-0029-458b-8d47-335d04a56cf2">2,021,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMDcxNw_1bfdb60a-4e74-4933-b9d9-3da41c521373">4,023,000</ix:nonFraction>, respectively. The total operating lease cash payments for the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTAwMQ_b88f05c4-8bb4-4b9d-bbfc-b6083a829221">2,014,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTAxMA_547a0a51-25ce-4abc-8071-f8f286f68af8">4,075,000</ix:nonFraction>, 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 for the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTI5Nw_713d4eb1-1b52-4bb3-aa7a-7a8626bc46a5">38,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTMwNA_80e76717-31dc-490e-b30f-1e0e95e3fe89">78,000</ix:nonFraction>, respectively.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="i36ced123fd0645a7a9c33f83510bfa54" continuedAt="id3b79bf05fa649ecb863b99edfeb5403"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTgzMw_b122c995-6545-4bfe-be14-21c25a25cf5d" escape="true"><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:82.648%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.728%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.224%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December&#160;31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfMS0yLTEtMS02NjkwNA_583a02db-5005-476c-818e-9d1cb2745155">4,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfMi0yLTEtMS02NjkwNA_8b106800-ac13-46fa-8c5b-cb549c089e73">8,002</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfMy0yLTEtMS02NjkwNA_864b86a6-a652-4069-b2fe-32a489b13982">5,114</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNC0yLTEtMS02NjkwNA_a7a2eaae-54bb-4acc-9d92-c1058bf722b4">3,408</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNS0yLTEtMS02NjkwNA_a8f37d18-0939-4f1b-87de-e87ae0637fc0">2,731</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNi0yLTEtMS02NjkwNA_2ca96e73-7eda-4747-bf0c-a32efaddf9ed">2,662</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNy0yLTEtMS02NjkwNA_5cc263d3-669f-43d0-a762-03372f48f10c">11,035</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfOC0yLTEtMS02NjkwNA_532b9832-72d8-4fa7-9216-ee92ebcef371">37,488</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The discounted present value of the future lease cash payments resulted in a lease liability of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTQzOA_8c99bf32-f84a-40a2-bcd7-adc1d17caa36">34,252,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTQ0NQ_881ca3c7-e005-4aa3-9e71-d5925d0977a4">25,581,000</ix:nonFraction> as of July&#160;3, 2022 and December&#160;31, 2021, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of July&#160;3, 2022.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, the Company entered into a lease for a <ix:nonFraction unitRef="sqft" contextRef="ifa97cca7645743f6b056c6140a2f06e7_I20211231" decimals="-3" name="us-gaap:NetRentableArea" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0MjI_2ebde398-8c92-40ab-8bc2-384e5efac679">65,000</ix:nonFraction> square-foot building in Southborough, Massachusetts for a term of <ix:nonNumeric contextRef="ifa97cca7645743f6b056c6140a2f06e7_I20211231" name="us-gaap:LesseeOperatingLeaseTermOfContract" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0NDE_e333b436-31a6-4c55-9093-39238ac20b22">ten years</ix:nonNumeric> to serve as a new distribution center for customers in the Americas. The Company has the right and option to extend the term of this lease for an additional period of <ix:nonNumeric contextRef="ie8a64f61a7004c7b8795ce620fc86977_D20211201-20211231" name="cgnx:LesseeOperatingLeaseOptionToRenewTermOfContract" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0NTg_cd401901-3a9a-4042-ae3b-d2f108e36f54">five years</ix:nonNumeric>, commencing upon the expiration of the original <ix:nonNumeric contextRef="ifa97cca7645743f6b056c6140a2f06e7_I20211231" name="us-gaap:LesseeOperatingLeaseTermOfContract" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0OTU_3c668526-0033-4dfb-8580-724125034bc2">ten-year</ix:nonNumeric> term. This lease commenced during the six-month period ended July&#160;3, 2022, and therefore the Company recorded approximately $<ix:nonFraction unitRef="usd" contextRef="iac666983932948cd872e2d0e4c2742dc_I20220703" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfNTQ5NzU1ODE4NjI5_8e847edd-1497-42af-b676-854c355c178f"><ix:nonFraction unitRef="usd" contextRef="iac666983932948cd872e2d0e4c2742dc_I20220703" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfNTQ5NzU1ODE4NjI5_a59b7c35-73f2-47da-98e7-60094a1b923a">9,271,000</ix:nonFraction></ix:nonFraction> within "Operating lease assets" and "Operating lease liabilities" on the Consolidated Balance Sheets on the commencement date.</span></div></ix:continuation><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="id3b79bf05fa649ecb863b99edfeb5403">The weighted-average discount rate was <ix:nonFraction unitRef="number" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTY0Mw_aec333e7-ba29-47d2-9080-3ef6ce84c329">2.9</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTY1MA_b36016ba-6cc2-4f0b-9340-a398de29edbd">3.4</ix:nonFraction>% for the leases outstanding as of July&#160;3, 2022 and December&#160;31, 2021, respectively. The weighted-average remaining lease term was <ix:nonNumeric contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTc1Nw_7721d151-70a2-42a0-ac3f-d30fad2533fe">6.9</ix:nonNumeric> and <ix:nonNumeric contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTc2NA_6ad8ca58-6ede-4724-9226-d8b1c18a42ea">5.1</ix:nonNumeric> years for the leases outstanding as of July&#160;3, 2022 and December&#160;31, 2021, respectively.</ix:continuation> </span></div><div id="i439287817ac64be482e2ddc02068aa40_58"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 7:&#160;<ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:GoodwillDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RleHRyZWdpb246NzM1ZTliOWVlMjhlNDVkMzk1YTQ1YzhiZmJkZGU0ODhfMTAw_0eb24968-cc96-41a9-8970-9e1b6df954b4" continuedAt="ia9a1269162a14f2f8b694efdd354b0f8" escape="true">Goodwill</ix:nonNumeric></span></div><ix:continuation id="ia9a1269162a14f2f8b694efdd354b0f8"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfGoodwillTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RleHRyZWdpb246NzM1ZTliOWVlMjhlNDVkMzk1YTQ1YzhiZmJkZGU0ODhfMTAx_4316e132-b68a-4e0b-bc31-f2bdc8a3aea3" escape="true"><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:83.288%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.776%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RhYmxlOjM4NmNkYTMzNzNjMzQ3MzFiYzNkZTc5YjE0Mzk2MzM2L3RhYmxlcmFuZ2U6Mzg2Y2RhMzM3M2MzNDczMWJjM2RlNzliMTQzOTYzMzZfMC0yLTEtMS02NjkwNA_5eb317cb-1b61-4063-a407-aa0ec920a259">241,713</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RhYmxlOjM4NmNkYTMzNzNjMzQ3MzFiYzNkZTc5YjE0Mzk2MzM2L3RhYmxlcmFuZ2U6Mzg2Y2RhMzM3M2MzNDczMWJjM2RlNzliMTQzOTYzMzZfMS0yLTEtMS02NjkwNA_8ae88445-7514-4f52-ab70-aca1f37e07f7">1,915</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RhYmxlOjM4NmNkYTMzNzNjMzQ3MzFiYzNkZTc5YjE0Mzk2MzM2L3RhYmxlcmFuZ2U6Mzg2Y2RhMzM3M2MzNDczMWJjM2RlNzliMTQzOTYzMzZfMi0yLTEtMS02NjkwNA_57ff7833-d475-43a9-b85c-e5ff4ac7c530">239,798</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">14</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_61"></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 8:&#160;<ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RleHRyZWdpb246MmE0NjQ4OTRlMTdhNGUzNmE3ZmVjNjg3NWQ1NzUyYjVfMjE5_7859ab9b-3593-4fc4-bd5c-e5874b722602" continuedAt="i7370ae3f757b47cf992225d8de394c13" escape="true">Intangible Assets</ix:nonNumeric></span></div><ix:continuation id="i7370ae3f757b47cf992225d8de394c13"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RleHRyZWdpb246MmE0NjQ4OTRlMTdhNGUzNmE3ZmVjNjg3NWQ1NzUyYjVfMjEy_00d83dcf-ceb0-4fa4-a180-fac403dfa3c7" escape="true"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:51.176%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.318%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.318%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.320%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMS0xLTEtMS02NjkwNA_7de9697d-4a08-413c-bd41-87a8ac9eeb73">38,060</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMS0zLTEtMS02NjkwNA_d6242cc1-54af-422b-8f1f-d7bc87dee875">38,060</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMS01LTEtMS02NjkwNA_b67e93e5-24bd-4958-8b77-f92af2ed5e16">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1074b83bca3f47639e15d262f3898cbd_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMi0xLTEtMS02NjkwNA_7ffcdd2f-8fea-4806-ac04-7df151f32a7c">24,217</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1074b83bca3f47639e15d262f3898cbd_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMi0zLTEtMS02NjkwNA_287bef45-a17f-4e4a-b04a-e81a72eb909c">16,519</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1074b83bca3f47639e15d262f3898cbd_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMi01LTEtMS02NjkwNA_84ff14d6-0015-43f8-8bba-71d8f525a56a">7,698</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibb6e178c62544e5d91c891b5e078d005_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMy0xLTEtMS02NjkwNA_f12162b8-8c07-44e3-9d69-29a4a71d7f8c">10,578</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibb6e178c62544e5d91c891b5e078d005_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMy0zLTEtMS02NjkwNA_c9eff29e-029a-44b9-b468-924f2d8e39c5">8,241</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibb6e178c62544e5d91c891b5e078d005_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMy01LTEtMS02NjkwNA_d250836b-a8f0-4b5e-b5ad-fb837024c593">2,337</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie2fe481adc6e49f99e921e5b247ce660_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNC0xLTEtMS02NjkwNA_efc1799c-a459-4844-a880-fc551ccf5ba1">710</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie2fe481adc6e49f99e921e5b247ce660_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNC0zLTEtMS02NjkwNA_952b44d2-0c71-4090-9160-8e3adacd5412">519</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie2fe481adc6e49f99e921e5b247ce660_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNC01LTEtMS02NjkwNA_3c9efee9-5dea-4a7a-9fa0-cb49334b97e1">191</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i096756e1b1c44408beb972c46a48e5b0_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNS0xLTEtMS02NjkwNA_a4776d1b-0086-44b1-b645-c550483ecfbe">110</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i096756e1b1c44408beb972c46a48e5b0_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNS0zLTEtMS02NjkwNA_de5dc6a8-bc91-4bfa-8a07-960057b1494a">110</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i096756e1b1c44408beb972c46a48e5b0_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNS01LTEtMS02NjkwNA_c8722a15-1e02-4e23-a485-c9a6d984106a">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNi0xLTEtMS02NjkwNA_9f03d3a3-e189-4a03-9227-956c5213da96">73,675</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNi0zLTEtMS02NjkwNA_b3629697-1657-4d0c-b21c-a2e7ba2e2af7">63,449</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNi01LTEtMS02NjkwNA_87455f41-6f98-4f9a-a1b1-e224a0e2e244">10,226</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfOS0xLTEtMS02NjkwNA_67c25eba-b642-445f-8043-97888e9baa2a">38,060</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfOS0zLTEtMS02NjkwNA_75e3dd74-4797-476f-a118-4d891b0b5920">38,060</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfOS01LTEtMS02NjkwNA_bb26e414-74b8-4885-8307-513a1c4379f6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic65a1926b14248a4a5e94b0f208eefbe_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTAtMS0xLTEtNjY5MDQ_65a84d29-7a8d-4bdf-9619-30e5080f35e8">24,217</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic65a1926b14248a4a5e94b0f208eefbe_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTAtMy0xLTEtNjY5MDQ_5f9aae6c-3d5a-4c1e-9ef6-380708b5fe7f">15,234</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic65a1926b14248a4a5e94b0f208eefbe_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTAtNS0xLTEtNjY5MDQ_37147396-43aa-44f0-ac73-9602478c0f0d">8,983</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i11939350145f4d89bbda184bdcff696d_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTEtMS0xLTEtNjY5MDQ_23a5e562-7633-408f-801c-843ee5373d32">10,578</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i11939350145f4d89bbda184bdcff696d_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTEtMy0xLTEtNjY5MDQ_08b09349-32b7-4c99-8eb2-0abe55145510">7,891</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i11939350145f4d89bbda184bdcff696d_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTEtNS0xLTEtNjY5MDQ_bcfd5441-a9bf-4127-856b-101869e0a8ca">2,687</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6bc61925e198478189818d2c0a656787_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTItMS0xLTEtNjY5MDQ_db7b5c48-9bb6-48e4-a626-1afce18066e9">710</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6bc61925e198478189818d2c0a656787_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTItMy0xLTEtNjY5MDQ_1992241a-da00-4754-8a34-03256008a6c6">492</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6bc61925e198478189818d2c0a656787_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTItNS0xLTEtNjY5MDQ_ce68b38e-8181-4385-96bd-450db047def9">218</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc28cdcff7d54a05a89b9ec624e65bff_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTMtMS0xLTEtNjY5MDQ_e9259679-4e50-4a1c-a9f4-b10a2c0d013a">110</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc28cdcff7d54a05a89b9ec624e65bff_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTMtMy0xLTEtNjY5MDQ_4e72f041-0b96-416f-87d7-1e776d10cc4b">110</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icc28cdcff7d54a05a89b9ec624e65bff_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTMtNS0xLTEtNjY5MDQ_527710a9-1f45-4f5c-9b17-c07d071376f3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTQtMS0xLTEtNjY5MDQ_7c90eced-3687-45b6-9d78-3bdb237f6cca">73,675</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTQtMy0xLTEtNjY5MDQ_02a080c2-b251-471d-b005-388312316a25">61,787</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTQtNS0xLTEtNjY5MDQ_04404482-b8f7-44cd-baa2-a11d332e3160">11,888</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RleHRyZWdpb246MmE0NjQ4OTRlMTdhNGUzNmE3ZmVjNjg3NWQ1NzUyYjVfMjI0_729d055b-15de-4fb8-8a11-2a33679c1672" escape="true"><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of July&#160;3, 2022, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:81.623%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.445%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December&#160;31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfMS0yLTEtMS02NjkwNA_dbba1b23-6fcb-4a66-afc3-e3be61e1d8d3">1,613</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfMi0yLTEtMS02NjkwNA_bc27aece-dacd-489b-9acc-997b6131e525">2,594</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfMy0yLTEtMS02NjkwNA_2dddd77f-2c2c-47f4-b8c5-c671daa18748">2,080</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNC0yLTEtMS02NjkwNA_858ded42-2a55-4267-930f-b395aea803f8">1,757</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNS0yLTEtMS02NjkwNA_cd9fe040-1554-41d7-a08b-08eff3bed0f1">1,452</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNi0yLTEtMS02NjkwNA_4cd9b732-69d2-47e2-b102-4fcbafdb19bd">730</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNy0yLTEtMS02NjkwNA_9f1e0178-0768-43d9-9951-861e7b70e872">10,226</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div id="i439287817ac64be482e2ddc02068aa40_64"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 9: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RleHRyZWdpb246YzY0OTk1ZDFmMzZjNGQ2N2IzNmY2NmYyYmNkZTI3MDFfMTAxOQ_f3b04666-8da5-43f0-a866-a344825f242e" continuedAt="i9ccccb8f1f124de2a2f2dcc945bfc5c8" escape="true">Warranty Obligations</ix:nonNumeric></span></div><ix:continuation id="i9ccccb8f1f124de2a2f2dcc945bfc5c8"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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&#8217;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 &#8220;Accrued expenses&#8221; on the Consolidated Balance Sheets.</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RleHRyZWdpb246YzY0OTk1ZDFmMzZjNGQ2N2IzNmY2NmYyYmNkZTI3MDFfMTAyMw_ce34e8d5-6cf1-4d56-a109-98d179b3dbed" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:80.771%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.029%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:ProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfMC0xLTEtMS02NjkwNA_126639bf-06c7-4ab0-ae50-5fffd4a71b37">5,427</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfMS0xLTEtMS02NjkwNA_ef3adca5-ad7d-413e-b10a-ebe44b2ac515">1,255</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ProductWarrantyAccrualPayments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfMi0xLTEtMS02NjkwNA_268d835a-32ba-497d-80f4-6b02c30f25ed">1,461</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfNC0xLTEtMS02NjkwNA_8ce57a75-51c8-4cda-a03f-1983adbdb9c4">5,221</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">15</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_67"></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 10: <ix:nonNumeric contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82Ny9mcmFnOjU3ZGU5NDMyYTBjMTRlNTg5NDMyZTNmOWM3NTI0MTdhL3RleHRyZWdpb246NTdkZTk0MzJhMGMxNGU1ODk0MzJlM2Y5Yzc1MjQxN2FfMTA3Mg_e605ab5a-2dfd-480d-a313-252398728536" continuedAt="i1fe077afa57242f49009ca748ae754b4" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><ix:continuation id="i1fe077afa57242f49009ca748ae754b4"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022, the Company had outstanding purchase orders totaling $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82Ny9mcmFnOjU3ZGU5NDMyYTBjMTRlNTg5NDMyZTNmOWM3NTI0MTdhL3RleHRyZWdpb246NTdkZTk0MzJhMGMxNGU1ODk0MzJlM2Y5Yzc1MjQxN2FfMTA3_ee12b7f9-8ae1-496a-a806-6ecc7cb4f3bd">67,516,000</ix:nonFraction> to procure inventory from various vendors, due in part to higher inventory purchases in response to global supply chain constraints. Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate primarily to expected sales in the next twelve months. The Company expects the level of outstanding purchase orders to increase for the remainder of the year as it replenishes inventories destroyed in the fire on June 7, 2022 at its primary contract manufacturer (refer to Note 17).</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A significant portion of the Company's outstanding inventory purchase orders as of July&#160;3, 2022, as well as additional preauthorized commitments to procure strategic components based on the Company's expected customer demand, are placed with the Company's primary contract manufacturer for the Company's assembled products. The Company has the obligation to purchase any non-cancelable and non-returnable components that have been purchased by this contract manufacturer with the Company's preauthorization, when these components have not been consumed within the period defined in the terms of the Company's agreement with this contract manufacturer.</span></div></ix:continuation><div id="i439287817ac64be482e2ddc02068aa40_70"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 11: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQxNw_8a2c5eff-d4ba-404e-8ad1-6045f893e0df" continuedAt="ida43451bebcf44e09d31eabb499c01fe" escape="true">Derivative Instruments</ix:nonNumeric></span></div><ix:continuation id="ida43451bebcf44e09d31eabb499c01fe" continuedAt="idb946e19792442e89c2ae365e7e33bf2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;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 that do not exceed approximately <ix:nonNumeric contextRef="i5ed2d698c5654399a4ae6621b9ba3d32_D20220101-20220703" name="us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQyMg_0397e6ec-dd68-4f54-a8bb-e8eab4a2eb35">three months</ix:nonNumeric> 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. </span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="cgnx:OutstandingForwardContractsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTM5MA_9acb77a5-057c-40be-9143-c160e46306bc" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.122%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.034%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.746%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="eur" contextRef="i9fa85bdefdff42b182c42ff1a49c0610_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy0xLTEtMS02NjkwNA_be9b69c4-6dde-41b3-9a90-9e5dd87b98bc">75,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9fa85bdefdff42b182c42ff1a49c0610_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy0zLTEtMS02NjkwNA_36bb991f-c32f-4362-83a6-f9aac05d323f">78,329</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="eur" contextRef="ifdbdd17085324d549fa107fc051eee2a_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy01LTEtMS02NjkwNA_bd934502-75ec-4c8e-b9c1-4f8bc63290b2">65,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifdbdd17085324d549fa107fc051eee2a_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy03LTEtMS02NjkwNA_f2b8b294-119e-4063-b6cf-8975339b32c6">73,748</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="cny" contextRef="ia2373098eccd4042913f057bdac9f573_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC0xLTEtMS02NjkwNA_efd3735b-10be-4858-b562-56513a1af6b5">183,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia2373098eccd4042913f057bdac9f573_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC0zLTEtMS02NjkwNA_2a88b4a6-710c-4539-999b-1ad21b3c79f5">27,377</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="cny" contextRef="ia7bd15dac48b41a5aafff143d3d3b990_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC01LTEtMS02NjkwNA_e4e4a8e3-9dbc-4ab0-8b5d-6902ce180f30">54,374</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia7bd15dac48b41a5aafff143d3d3b990_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC03LTEtMS02NjkwNA_01fe7cc0-3931-45bc-88cf-9fdbdc074e41">8,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="mxn" contextRef="i16449076a6654af28335ac2a8cab60f3_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS0xLTEtMS02NjkwNA_c276f7ca-2f63-4774-a66c-99272c4ea78e">220,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i16449076a6654af28335ac2a8cab60f3_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS0zLTEtMS02NjkwNA_83fb33b0-15ce-44f3-b921-3c167147865f">10,839</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="mxn" contextRef="i9b2ffed476df4579bbcc38a25e1d8db9_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS01LTEtMS02NjkwNA_0ed9d7ed-244f-4e88-89c3-7d72531ea06b">140,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9b2ffed476df4579bbcc38a25e1d8db9_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS03LTEtMS02NjkwNA_dd87e9c0-9559-40d0-8c39-b7b132f5d161">6,842</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="jpy" contextRef="i7524ddb9ea03422a9e7e2ebbea77de0a_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy0xLTEtMS02NjkwNA_a2768f14-a155-4b1e-b8fb-f97c201ee984">650,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7524ddb9ea03422a9e7e2ebbea77de0a_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy0zLTEtMS02NjkwNA_70d40bdd-ccb9-4f14-b9c7-cbd270951412">4,789</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="jpy" contextRef="i694f091dcec34812bad0480464436d7e_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy01LTEtMS02NjkwNA_4ee1bf60-07b6-45dd-a372-38e4b15b3b59">600,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i694f091dcec34812bad0480464436d7e_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy03LTEtMS02NjkwNA_70ca2ee4-fdba-4158-8dd2-cc2e2ef42cf6">5,213</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="gbp" contextRef="i342a922d9dc945a18b79c96091725dbe_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC0xLTEtMS02NjkwNA_20fd0ad4-176d-41f3-a12f-81ce2855ebec">3,150</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i342a922d9dc945a18b79c96091725dbe_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC0zLTEtMS02NjkwNA_c0e4e677-9d2b-4676-8ae6-44b86d0ad3e1">3,833</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="gbp" contextRef="i49f516875e854bad8e4721d0f3ca17ec_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC01LTEtMS02NjkwNA_2954c8ef-6729-4d24-a92b-aab3be2ff9e0">3,370</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49f516875e854bad8e4721d0f3ca17ec_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC03LTEtMS02NjkwNA_22868895-5a41-4064-b089-e87b0958feeb">4,552</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="huf" contextRef="i836accfb1dd045f7b2f92c71a31a58dc_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS0xLTEtMS02NjkwNA_a5b2fdce-4227-42ef-8028-9cf1c149bf52">1,355,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i836accfb1dd045f7b2f92c71a31a58dc_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS0zLTEtMS02NjkwNA_a4a66b68-41cd-4491-9ef3-651dfff9d731">3,552</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="huf" contextRef="i16d30d88657e4f6fa4e81e6bf35d1667_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS01LTEtMS02NjkwNA_995a2358-e0f9-40f2-971a-49b0d57fd030">1,355,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i16d30d88657e4f6fa4e81e6bf35d1667_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS03LTEtMS02NjkwNA_4f21048c-de20-4bde-a857-a73db354d544">4,155</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="krw" contextRef="i4c3c2ddb2e4f4ea28a57f2f21cf87318_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMS0xLTEtNzAzNzU_245115cc-71d3-4884-8075-c1aff5a7a665">4,270,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4c3c2ddb2e4f4ea28a57f2f21cf87318_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMy0xLTEtNzAzNzU_28e669c6-6f07-4abc-94a3-13fb822653fd">3,302</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="krw" contextRef="i70b292f313584022a002a1ecdb38404c_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNS0xLTEtNzAzNzU_e85a47cf-8f53-4355-a4a9-9adf110a312a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i70b292f313584022a002a1ecdb38404c_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNy0xLTEtNzAzNzU_6010f80b-29c5-4940-820c-9043e859e96e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="cad" contextRef="idda92086fdb9495aab36454165488471_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMS0xLTEtNjY5MDQ_1f59df45-4570-4c41-b3ab-d87c5b24aed2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idda92086fdb9495aab36454165488471_I20220703" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMy0xLTEtNjY5MDQ_e3889429-6139-4a5d-9149-98472dd0139f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="cad" contextRef="i79fff7c6f7fd44179dd1404b9e10abd4_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNS0xLTEtNjY5MDQ_342ff720-7152-4360-80bf-1422d6502293">1,480</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i79fff7c6f7fd44179dd1404b9e10abd4_I20211231" decimals="-3" name="us-gaap:DerivativeAssetNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNy0xLTEtNjY5MDQ_2f760963-1e29-468a-a682-a312e0b56957">1,167</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQwOA_2a953af5-daea-4b77-8e37-ff6cd49ecd5c" escape="true"><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.397%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.784%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.223%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.709%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.784%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.227%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid&#160;expenses&#160;and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia01ad5e1b05d46d98499861900f21876_I20220703" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi0zLTEtMS02NjkwNA_56eb54c3-e232-408f-bbce-c958a40d48f6">46</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia6e6eeba1e7e4dd0ae015dd36d06a158_I20211231" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi01LTEtMS02NjkwNA_981821ed-3789-4931-88c0-16c9c1c09594">39</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i67a2d9e07ca9441c89ab9480183f02ce_I20220703" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi05LTEtMS02NjkwNA_68e238f8-479e-4fc6-88c9-71621703dcd8">425</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0c76d424fd3d4d51b9e63fe42350111e_I20211231" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi0xMS0xLTEtNjY5MDQ_d53304bd-f31d-476c-a813-ad40e4dad261">230</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="idb946e19792442e89c2ae365e7e33bf2"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:OffsettingAssetsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTM5Mw_7c8df972-623d-4dc8-bbd1-84fb024b0b2a" escape="true"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:21.008%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.824%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.824%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.223%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.008%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.345%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.227%"></td><td style="width:0.1%"></td></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DerivativeFairValueOfDerivativeAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi0yLTEtMS02NjkwNA_4303c42e-215c-4b97-b66c-9e2fed1f0a89">46</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DerivativeFairValueOfDerivativeAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi00LTEtMS02NjkwNA_ceffc9fc-d330-4ba1-aa74-4e28ff6f34d2">39</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DerivativeFairValueOfDerivativeLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi04LTEtMS02NjkwNA_13320efe-56ec-438a-950d-5e42ab2232dd">425</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DerivativeFairValueOfDerivativeLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi0xMC0xLTEtNjY5MDQ_3f7b78db-e889-4eaf-bd0c-a7b1fef8cb57">230</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy0yLTEtMS02NjkwNA_5b0c106a-97d5-4d88-acf3-a6c6c3995fd3">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy00LTEtMS02NjkwNA_6efefe06-f08e-4f23-af9c-3e0f804b70a4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy04LTEtMS02NjkwNA_37f7636a-1bb7-4d89-a854-4ee04285a7d2">&#8212;</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy0xMC0xLTEtNjY5MDQ_8d96a0b4-d116-4175-8227-211673936955">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC0yLTEtMS02NjkwNA_e2dfac1f-0d17-4cae-aaf6-170491dd7721">46</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC00LTEtMS02NjkwNA_b0ce1946-5556-4e91-9da1-fe64a67395ba">39</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC04LTEtMS02NjkwNA_5fe68a29-3a1c-4e12-813e-ec4ef881a072">425</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC0xMC0xLTEtNjY5MDQ_ad15bf23-b9c8-4030-a18a-074a0247ced1">230</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div><span><br/></span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQyMQ_914538ee-62a5-4cbd-b1be-ed8405b7807d" escape="true"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:20.683%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.636%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.797%"></td><td style="width:0.1%"></td></tr><tr style="height:19pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i18e6ad545650414ba0427bb15f1f40ed_D20220404-20220703" decimals="-3" name="us-gaap:DerivativeGainLossOnDerivativeNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtMy0xLTEtNjY5MDQ_200d0c2a-a8b4-4550-b800-b7bb5611a43c">6,191</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i176845b2165d4c1c901c94617d33fad0_D20210405-20210704" decimals="-3" sign="-" name="us-gaap:DerivativeGainLossOnDerivativeNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtNS0xLTEtNjY5MDQ_d750ee85-3923-4063-a1d1-adcc82f5b7cc">746</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7fa5c02f551b4853a9ded76fc71fbb81_D20220101-20220703" decimals="-3" name="us-gaap:DerivativeGainLossOnDerivativeNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtNy0xLTEtNjY5MDQ_32302537-69bd-4397-b0bd-4b0feed01f68">7,930</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1272258b978247acad7cabc4e78fe7f3_D20210101-20210704" decimals="-3" name="us-gaap:DerivativeGainLossOnDerivativeNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtOS0xLTEtNjY5MDQ_6649b92d-871b-4a8f-a93e-0def057209d0">2,148</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">17</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_73"></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 12: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYyMQ_7d466c58-a04e-4413-b82a-662e48c71689" continuedAt="i4a60c22658634073a07f5c31ab39014b" escape="true">Revenue Recognition</ix:nonNumeric></span></div><ix:continuation id="i4a60c22658634073a07f5c31ab39014b" continuedAt="i5ec60904feec44dfb47d3cdcb5fe712c"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYyNg_aeb48012-862d-4309-b34c-181ebe942bb2" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.527%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id4f60b94102045c6ad876f25645533fe_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi0yLTEtMS02NjkwNA_54502a89-7ff7-45dc-81c0-aec9dec30bb8">91,551</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5e00f0f2c2a9479fb066f3d76f8a2c84_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi00LTEtMS02NjkwNA_cba09685-a28f-41fa-9f4e-f8e764cac5d7">108,418</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i777b159c8c91485d8eb5cb5873eb63b5_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi02LTEtMS02NjkwNA_1f99888d-02ca-4328-979a-f2f286b6c154">218,210</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i95cc2e2c61c641eba1a24245b544a319_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi04LTEtMS02NjkwNA_79d42c6e-d633-4b16-af41-e09cc84b1412">216,254</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5bd033c483ca483eaac86097ba325f9e_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy0yLTEtMS02NjkwNA_721450a9-39da-4aff-9832-7d65d24671f4">61,840</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia6f5c8235eff4f5989c9928eaa8b4c8e_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy00LTEtMS02NjkwNA_a2f206ca-5211-4b27-ae5a-758f98645bb8">59,967</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id8590e74013144c096fe7894310c039a_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy02LTEtMS02NjkwNA_567581c1-a507-4b1e-a7a4-c98262407d5c">124,631</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3bacc758d8af43adb630bc7b3e695554_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy04LTEtMS02NjkwNA_a44424a3-95b7-4eef-bbe9-7a7d151ccf3a">117,015</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i44a323570a09492eb9272094386565b0_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC0yLTEtMS02NjkwNA_0881605b-c5ae-4bae-ad5a-24bc5f941951">78,616</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i818f46ae4a814e8cb204092b2c400112_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC00LTEtMS02NjkwNA_e3a16345-954d-4905-b244-a34fa5e884ab">59,706</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2adf86e363104a67a322b83f32ddb221_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC02LTEtMS02NjkwNA_43bcefae-139d-4687-8813-c99d60e4ee7e">127,021</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02a9248fc6ed45c1bc7e6a58688914bf_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC04LTEtMS02NjkwNA_a4519657-78d6-4d94-9404-39c629753467">97,944</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i771400f31d514be59ce14adb1d6bd67b_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS0yLTEtMS02NjkwNA_0d8716f8-14ec-44e2-9fe2-a12731dd00fc">42,621</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2138393603c64ae789977c365f3dbd67_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS00LTEtMS02NjkwNA_8a7ca787-5f90-4845-99ec-cbfc15693aed">41,067</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0b77a45a38054361bcd9f10ab8bd4790_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS02LTEtMS02NjkwNA_ef59136c-9b30-4c5a-b57b-45e713d6637a">87,173</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i28af0bfc503d464a8bef9493117c1298_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS04LTEtMS02NjkwNA_e76f3c51-c262-4547-8c77-978ea6093421">76,972</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi0yLTEtMS02NjkwNA_79e179ff-7ed5-45fa-a800-3f3f987c8570">274,628</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi00LTEtMS02NjkwNA_3252ee9f-96c8-47a2-9842-bfc14d1045ca">269,158</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi02LTEtMS02NjkwNA_618233a4-ce4d-43c0-b0e2-475293110a36">557,035</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi04LTEtMS02NjkwNA_b6a00afc-b361-415d-a675-89555d022de5">508,185</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div><span><br/></span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYyMA_3e03f580-2f97-4405-acc0-eea16aee837f" escape="true"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.402%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.139%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.526%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7a8bd57825f24189a82dd02689b07a55_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi0yLTEtMS02NjkwNA_9f716cad-74f8-4234-9cdf-1f7ee1cfe506">221,474</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i150e9eb565d14f4186103419982ce020_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi00LTEtMS02NjkwNA_28ed1581-d4ec-46b0-afd4-7fbf76f90621">234,322</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic15a144c421442a39f97514efaaef2d9_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi02LTEtMS02NjkwNA_37acdc75-69d2-4f71-8ec6-3e7c957acc95">479,354</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0140928aa4fb4494a1b8065f16095c6a_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi04LTEtMS02NjkwNA_b7e81c5a-0c7a-4ae7-8ee0-f5309427c255">456,648</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8e33f30c2a3546e3b5dc6c1e8b2fecfc_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy0yLTEtMS02NjkwNA_8fb2630a-9f6f-4d46-bfd8-ba1f5fb4ad4d">53,154</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie716208e6b8a4ee2aa85f512b7063433_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy00LTEtMS02NjkwNA_5eb79744-0f78-466a-940a-8af24129cb0b">34,836</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iad1acd10cd6c4dcfbfda07e457ab8a11_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy02LTEtMS02NjkwNA_3f4ac71a-88ce-4018-a041-6b487d99bc5d">77,681</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba9d5c6fad14402da663de45347311a7_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy04LTEtMS02NjkwNA_21c059af-e275-431b-baaa-319a1111ee08">51,537</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC0yLTEtMS02NjkwNA_888fb379-b07a-4db3-b3ac-2eb3d004fd9b">274,628</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC00LTEtMS02NjkwNA_e9868498-6934-4720-8d6f-afc66ff08bcf">269,158</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC02LTEtMS02NjkwNA_613cadf1-8f64-4c3c-ad2e-9e9d00366a8e">557,035</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC04LTEtMS02NjkwNA_f6e37879-ce7b-4512-8337-8eaec90dfbc6">508,185</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Costs to Fulfill a Contract</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:CapitalizedContractCostGross" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfNDQ4_ff9a2d81-d766-4cff-a11e-788f21d674b6">14,428,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:CapitalizedContractCostGross" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfNDU1_d5f0dd6e-63b9-453a-9278-83f3e342eff9">10,854,000</ix:nonFraction> as of July&#160;3, 2022 and December&#160;31, 2021, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYxMg_480244fd-58ff-472b-b2de-3e6c905cf072" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the six-month period ended July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:79.341%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.459%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfMC0xLTEtMS02NjkwNA_9698539c-73c6-4f6a-8ea2-adb99275eed7">776</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfMi0xLTEtMS02NjkwNA_4d4f79f6-a14d-4871-af5f-13a217e0cd06">36</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfMy0xLTEtMS02NjkwNA_514fc1d8-0a0f-4ebf-885d-e76621bac216">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfNC0xLTEtMS02NjkwNA_e6660e89-bc8a-48c4-9c4f-a98837aebaf9">741</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="i5ec60904feec44dfb47d3cdcb5fe712c"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYxOQ_1a6d6da4-5e60-4e7b-90b4-b78b6350e268" escape="true"><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:79.341%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.459%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:DeferredRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMC0xLTEtMS02NjkwNA_9f278f16-fe5e-4860-8745-2607a4653aa2">35,743</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:DeferredRevenueAdditions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMS0xLTEtMS02NjkwNA_28aab820-a27a-4684-aa5c-fda4cb22d251">69,834</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:DeferredRevenueRevenueRecognized1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMi0xLTEtMS02NjkwNA_a492c502-433b-4a7b-b183-5e3efe4ad55e">28,557</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" sign="-" name="cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMy0xLTEtMS02NjkwNA_9c53877b-1e99-4789-a62a-70db59dcbb52">1,635</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:DeferredRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfNC0xLTEtMS02NjkwNA_5dfdb29f-f40d-4f36-8cb4-3f61e5ab330f">75,385</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div></ix:continuation><div id="i439287817ac64be482e2ddc02068aa40_76"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 13: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgzMg_45d190ce-bf7d-44ea-8b34-bed95d5e6bd6" continuedAt="i3b4c292297ed412497cd2a3ef2e1c348" escape="true">Stock-Based Compensation Expense</ix:nonNumeric></span></div><ix:continuation id="i3b4c292297ed412497cd2a3ef2e1c348" continuedAt="i03a2b405e6414b48a1cef1259be94060"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Plans</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s stock-based awards that result in compensation expense consist of stock options, restricted stock units ("RSUs"), and performance restricted stock units ("PRSUs"). As of July&#160;3, 2022, the Company had <ix:nonFraction unitRef="shares" contextRef="i50b08d1bb8224935990751e82757056b_I20220703" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjYz_09a41876-141f-4023-bc63-4e5a3f17d334">14,250,000</ix:nonFraction> shares available for grant under its stock plans. Stock options are granted with an exercise price equal to the market value of the Company&#8217;s common stock at the grant date and generally vest over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDYz_479ba460-4060-4086-876a-0865345b6fc3">four</span> or <ix:nonNumeric contextRef="ibae5c310637e4bfa9f95ec32256ec6c0_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDY5_0325c9d6-e2b6-4ffa-a36d-0ca99f306fb6">five years</ix:nonNumeric> based upon continuous service and expire <ix:nonNumeric contextRef="i3426b909ccd04c8ba713ede457d177a9_D20220101-20220703" name="cgnx:ExpirationPeriodOfStockOptionPlan" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTEz_ed0b275d-b0a3-4a58-b940-fa2b6042c305">ten years</ix:nonNumeric> from the grant date. RSUs generally vest upon <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTYy_f863b510-2a78-488d-8403-50be5577f26c">three</span> or <ix:nonNumeric contextRef="i750305d77ecc41889121d69470997f2c_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzNDE1NQ_e166b237-eaf3-43e9-841e-7bb0f071f0ba">four years</ix:nonNumeric> of continuous employment or incrementally over such <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjMx_51c90430-0b7a-490b-80b1-cce809ba937e">three</span> or <ix:nonNumeric contextRef="i750305d77ecc41889121d69470997f2c_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTI2NDQzODM3MjYwMTg_7becc1f4-05f0-4e33-ab4b-9fc45f7fb553">four-year</ix:nonNumeric> period. PRSUs generally vest upon <ix:nonNumeric contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjgx_18eb5cd8-81b1-4419-a5bb-2f2d53857628">three years</ix:nonNumeric> of continuous employment and achievement of performance criteria established by the Compensation Committee of our Board of Directors on or prior to the grant date. Participants are not entitled to dividends on RSUs or PRSUs.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Options</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDc5OQ_800bf686-a55c-4646-8fad-c45733b325c1" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s stock option activity for the six-month period ended July&#160;3, 2022:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.699%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.273%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.223%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.126%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.983%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term&#160;(in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMS0xLTEtMS02NjkwNA_766b051b-a1f5-472a-97ba-d63623cd9545">7,610</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMS0zLTEtMS02NjkwNA_a6aa2ec1-5cdc-4330-83f6-324d07dbda79">49.38</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMi0xLTEtMS02NjkwNA_d87bc650-480e-4e00-bd55-71c786aec464">1,030</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMi0zLTEtMS02NjkwNA_df864936-a0bb-40ee-82c2-81c44dd75ee7">64.02</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMy0xLTEtMS02NjkwNA_c5b86fff-de54-40c8-ac16-736dedfd4ac2">133</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMy0zLTEtMS02NjkwNA_acca86fa-0a64-4b53-84db-d8cbbcf862dd">44.66</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNC0xLTEtMS02NjkwNA_a8b5ad36-da00-497d-9a38-b9c9a44fce00">118</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNC0zLTEtMS02NjkwNA_3e951d2f-4967-4d4c-9063-9d5e4abb54df">59.53</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of July 3, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS0xLTEtMS02NjkwNA_f579eda5-1492-4069-9fd6-10d5d4897dec">8,389</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS0zLTEtMS02NjkwNA_52359f67-eb71-4f41-95ce-79e37d072c48">51.11</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS01LTEtMS02NjkwNA_b681df62-8cef-4324-9a5b-9eb11a633fff">6.47</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS03LTEtMS02NjkwNA_50e0ad47-8fb7-4ffc-a593-0d4dbee6575d">26,951</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of July 3, 2022</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi0xLTEtMS02NjkwNA_78b66f8d-28b2-4cb2-9121-4bc0e7b1a138">4,347</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi0zLTEtMS02NjkwNA_b6e21423-c1b6-4f12-bc93-1095ef40b215">43.46</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi01LTEtMS02NjkwNA_e6055d87-0508-420b-b930-df9cca6e45e8">5.30</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi03LTEtMS02NjkwNA_f48524a1-8437-4ed3-8b2e-f6002b5c514d">26,615</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of July 3, 2022 (1)</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy0xLTEtMS02NjkwNA_6db2a4c9-8a5f-4a84-b8c3-d3a9bc2827dc">7,927</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy0zLTEtMS02NjkwNA_52d91d0c-4223-445f-9aa3-413ff7b1ffbf">50.45</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy01LTEtMS02NjkwNA_a5efb9db-54d2-4cbf-adf4-228ecd4b3adb">6.36</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy03LTEtMS02NjkwNA_1e86a792-b8b1-4937-8811-ef4f32984213">26,938</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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.</span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="i03a2b405e6414b48a1cef1259be94060" continuedAt="if7a65fc82a6e4a4f87d87c167b70893b"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgwNA_365bfa1a-1142-469f-92a1-f24bec307a11" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:38.227%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.526%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months&#160;Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi0xLTEtMS02NjkwNA_e3c3c3b4-1f98-4fa3-8b4f-26959f22fa76">1.9</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi0zLTEtMS02NjkwNA_df45cf16-87f8-410f-9572-798114855e79">1.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi01LTEtMS02NjkwNA_4e2749f8-d565-4856-81ba-04923ae94e15">1.9</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi03LTEtMS02NjkwNA_eb249d82-f6c6-4ebb-ac16-f3069a8d6012">1.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy0xLTEtMS02NjkwNA_6b23d292-a469-41b3-b153-c3e8969e657e">0.53</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy0zLTEtMS02NjkwNA_8b60f381-3363-470f-840d-9e18a1f77f64">0.31</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy01LTEtMS02NjkwNA_9398eaec-380d-4dea-885e-fbd5470a1d95">0.40</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy03LTEtMS02NjkwNA_2bb1fd3b-c22b-4654-a353-ca6f094ba706">0.27</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC0xLTEtMS02NjkwNA_d1bb08d8-2336-4e42-93ab-8bda8aa5f4db">37</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC0zLTEtMS02NjkwNA_ea210310-1397-4c35-b86e-c742b2e22228">39</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC01LTEtMS02NjkwNA_b0a55d03-dfb3-49bd-a6cd-6264c15bff0c">37</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC03LTEtMS02NjkwNA_c95f4d7e-b70e-4fba-8466-f42a044f78da">39</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS0xLTEtMS02NjkwNA_f5caac41-8711-464b-ade4-25501ae47d37">6.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS0zLTEtMS02NjkwNA_e19b7907-d5f0-4656-b303-1bfea4d78ec8">7.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS01LTEtMS03MjI3MQ_7b3d45b0-2fb7-4b19-b820-25c73aea09bd">5.2</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS03LTEtMS02NzU4Mg_13f33b7a-b97e-4f4d-992f-444eb0086a09">5.8</ix:nonNumeric></span></td></tr></table></div></ix:nonNumeric><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risk-free rate</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected dividend yield</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected volatility</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected volatility was based upon a combination of historical volatility of&#160;the Company&#8217;s common stock over the contractual term of the option and implied volatility for traded options of the Company&#8217;s stock.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected term</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant-date fair values of stock options granted during the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usdPerShare" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjI1MQ_9574e5a4-3dff-48a5-af12-88a8d43d159d">18.21</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjI1OA_c0130a5d-2b16-4b88-aeb4-6e0bdfb63103">22.33</ix:nonFraction>, respectively, and during the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usdPerShare" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjgyOQ_255fb8c5-1b76-43fc-9017-8359be44f8fe">32.07</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjgzNw_bf6d1953-49e2-40cf-8aa8-a771e02a5de2">33.47</ix:nonFraction>, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic values of stock options exercised for the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjM3OQ_78a76353-3638-4451-9669-97f6e38ba631">934,000</ix:nonFraction> and <ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjM4Ng_b88bb755-0457-49b1-8e67-31b1820cd362">3,099,000</ix:nonFraction>, respectively, and for the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjk2NQ_43a68c42-39c8-48ba-997f-71d6a435a351">11,621,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjk3Mg_ed209e08-9617-433a-a557-9983a72c842d">53,948,000</ix:nonFraction>, respectively. The total fair values of stock options vested for the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjQ5OQ_1e3ec70f-ad2f-49eb-b197-f638dc256beb">1,188,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjUwNg_e4482f8c-f187-40ea-bc0e-4e3a9bb3d331">26,723,000</ix:nonFraction>, respectively, and for the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzEyNg_9e901369-4860-43d8-9514-13e86e8f970f">1,830,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzEzOQ_40070735-f919-438e-8cad-91a5448ce2ab">37,430,000</ix:nonFraction>, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Restricted Stock Units (RSUs)</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgyNQ_f8a572b7-e378-43f2-b0fc-4cb5c8529636" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the six-month period ended July&#160;3, 2022: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.420%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i1613c9c9faae42a490bda25821a1c269_I20211231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMS0xLTEtMS02NjkwNA_9fc6c8fd-d0b8-4017-8e69-66500527363d">823</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i1613c9c9faae42a490bda25821a1c269_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMS0zLTEtMS02NjkwNA_98e20c54-2eb9-4820-8e0a-82d98dabc8af">65.26</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMi0xLTEtMS02NjkwNA_f7ef02b5-0ef9-46e5-8ca9-01c6e8ae76ba">481</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMi0zLTEtMS02NjkwNA_ce53c06b-9317-41b8-b30d-12c1117bb76e">63.37</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMy0xLTEtMS02NjkwNA_7bf5c123-3d4a-487e-8abd-2e4b0bd1be0d">74</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMy0zLTEtMS02NjkwNA_5b6db495-92c5-4899-9aab-847150a28670">81.31</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNC0xLTEtMS02NjkwNA_97745fda-54dd-4fba-97b2-a93b20c7425c">36</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNC0zLTEtMS02NjkwNA_4d7ddbab-25a1-4dfd-81d0-14f76cf810e8">66.56</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i207553719b9c4b88983ad68e6a92538b_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNS0xLTEtMS02NjkwNA_67867fbd-a22e-4d2b-88e0-0389a842b778">1,194</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i207553719b9c4b88983ad68e6a92538b_I20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNS0zLTEtMS02NjkwNA_f9f85b7f-31e8-430d-af0d-7ba2fa87aabf">63.47</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="if7a65fc82a6e4a4f87d87c167b70893b"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of RSUs is determined based on the observable market price of the Company's stock on the grant date less the present value of expected future dividends. The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usdPerShare" contextRef="i0b7030e870764aa496f7be238c1eca5e_D20220404-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjkzMA_3b23fc2d-bf15-4674-9262-b68eca124313">45.25</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjkzNw_f4aa9db8-9578-4577-85b8-9694d225ab42">63.37</ix:nonFraction>, respectively, and during the three-month and six-month periods ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usdPerShare" contextRef="i75767adc6b334abc8f04169990c2b850_D20210405-20210704" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzI5Nw_605c9474-5caa-4b56-976a-7165dc1165a9">75.98</ix:nonFraction> and $<ix:nonFraction unitRef="usdPerShare" contextRef="i351e44c9bf1043498601933e91a3022e_D20210101-20210704" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzMwOA_5ac33d2e-dd7c-47f6-ad49-5921da78a7ad">87.46</ix:nonFraction>, respectively. There were <ix:nonFraction unitRef="shares" contextRef="i0b7030e870764aa496f7be238c1eca5e_D20220404-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzU5Nw_68db6511-104c-4f7b-b165-3e05a2f6191a">20,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzU5OA_9155491b-3e0b-443d-97c1-a660f9373261">74,000</ix:nonFraction> RSUs that vested during the three-month and six-month periods ended July&#160;3, 2022, respectively, and <ix:nonFraction unitRef="shares" contextRef="i75767adc6b334abc8f04169990c2b850_D20210405-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzAzOA_03ac031a-58ec-4660-8e64-72fa9e70de98">13,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i351e44c9bf1043498601933e91a3022e_D20210101-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzA0NQ_d91cc5c2-9838-4e39-90c3-2bf141a66272">15,000</ix:nonFraction> that vested during the three-month and six-month periods ended July&#160;4, 2021, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Performance Restricted Stock Units (PRSUs)</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDc5Mg_b48c9d55-2f9b-446e-83ba-9b27d437382c" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's PRSUs activity for the six-month period ended July&#160;3, 2022: </span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.420%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.838%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i44cc039320e1443e9eb41f3f97d5f0c6_I20211231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMS0xLTEtMS02NjkwNA_b8054739-2179-4866-a01f-2fc276c6b3fd">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i44cc039320e1443e9eb41f3f97d5f0c6_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMS0zLTEtMS02NjkwNA_c3ba5bb7-e9d2-4295-a9a9-403628c19174">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMi0xLTEtMS02NjkwNA_47455e11-3cde-4d29-a6ba-c3e891ccd1d3">33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMi0zLTEtMS02NjkwNA_ca90c285-8d15-4a13-b2d2-823698823cd6">62.49</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMy0xLTEtMS02NjkwNA_9c0dc3c7-09be-4e8b-aa53-2c366725d602">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMy0zLTEtMS02NjkwNA_e4e8c81e-e101-4bca-8a30-a19355c6ef94">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNC0xLTEtMS02NjkwNA_ece323f0-d147-4cba-935c-6245cf5c7fd3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNC0zLTEtMS02NjkwNA_3e0987e5-8b56-4427-aadc-cce1affbbf69">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ifd0589fc43f04e318abb7b2b79b0f048_I20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNS0xLTEtMS02NjkwNA_f1cc4aa1-1196-4c48-8d7d-80e70c75f7a1">33</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ifd0589fc43f04e318abb7b2b79b0f048_I20220703" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNS0zLTEtMS02NjkwNA_80edc07d-4d3f-45ab-9b9d-d15af6d10e33">62.49</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="ia28ded5e06694c1eae5547d10145a791_D20220404-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTQ5NzU1ODIwNDUz_2da2141b-5f8d-4e34-ac9d-328e07ec6c5f"><ix:nonFraction unitRef="shares" contextRef="ia28ded5e06694c1eae5547d10145a791_D20220404-20220703" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTQ5NzU1ODIwNDUz_7617cc2a-946c-422e-a013-ba27ebdd1fa1">No</ix:nonFraction></ix:nonFraction> PRSUs were granted or vested during the three-month period ended July&#160;3, 2022. <ix:nonFraction unitRef="shares" contextRef="ibf24b603aaa2464b8d5c19ef0ef97e34_D20210405-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_4bdbc0fe-5a18-4588-b5ca-b14b5090ca74"><ix:nonFraction unitRef="shares" contextRef="i71d5b0c487574779b5e655e0664db1a9_D20210101-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_7b79cf62-f9e1-4511-bd7c-a6b1b5508191"><ix:nonFraction unitRef="shares" contextRef="i71d5b0c487574779b5e655e0664db1a9_D20210101-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_ddc369ce-b87d-4a22-ba9c-6b473570c393"><ix:nonFraction unitRef="shares" contextRef="ibf24b603aaa2464b8d5c19ef0ef97e34_D20210405-20210704" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_e186dd70-0234-4d02-a20c-76484ede9441">No</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> PRSUs were granted or vested during the three-month and six-month periods ended July&#160;4, 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of PRSUs is calculated using the Monte Carlo simulation model to estimate the probability of satisfying the service and market conditions stipulated in the award grant.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock-Based Compensation Expense</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company stratifies its employee population into <ix:nonFraction unitRef="group" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="cgnx:NumberOfGroupsWithinEmployeePopulation" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzU0NA_b55e1cd4-1192-41d9-8e59-347932cd216e">two</ix:nonFraction> groups: one consisting of senior management and another consisting of all other employees. The Company currently applies an estimated annual forfeiture rate of <ix:nonFraction unitRef="number" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="2" name="cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzcwNw_92bdac4b-6132-4156-a40e-9cfc6f368507">7</ix:nonFraction>% to all stock-based awards for senior management and a rate of <ix:nonFraction unitRef="number" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="2" name="cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzc3Mg_a83c1ec9-1deb-4011-9007-198bf691f7cf">12</ix:nonFraction>% 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 an increase to compensation expense of $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzk4MQ_daa36a28-a9d8-4709-bfb7-77c1d006ddd6">1,536,000</ix:nonFraction> in 2022 and a decrease to compensation expense of $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDAzNA_e8577bae-d60b-4ba7-90bb-b87c0ba0e6d7">255,000</ix:nonFraction> in 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022, total unrecognized compensation expense related to non-vested equity awards, including stock options, RSUs and PRSUs, was $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDE3OA_f7be23b6-a20a-4dbe-8b57-85b9d31513cf">69,142,000</ix:nonFraction>, which is expected to be recognized over a weighted-average period of <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDI1MQ_84ef411d-bcd9-4f4e-9d01-6880ac6834b9">1.6</ix:nonNumeric> years.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDM5MQ_b4ff63dc-bd10-4cdf-9560-43e486163eee">12,997,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDM5OA_083a066f-1ff6-4964-9780-ade23f1562a6">2,044,000</ix:nonFraction>, respectively, and for the six-month period ended July&#160;3, 2022 were $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzgzNw_9439658c-da8d-42bd-a600-e4a26439fdcb">28,053,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzg0NA_de2cdfa9-be39-42c0-ab71-5d9ba7def820">4,363,000</ix:nonFraction>, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU0Ng_663b3a1d-c03f-40b7-ae9e-0710c5438b02">10,730,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU1Mw_abb7c66f-cd53-411e-ae5d-d7ba73510896">1,651,000</ix:nonFraction>, respectively, and for the six-month period ended July&#160;4, 2021 were $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzk2NA_a9413eb0-de37-4f71-8a94-b3f1d815b970">22,739,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzk3OA_7440d2b6-7d3f-4023-b740-8b8cb11114cc">3,464,000</ix:nonFraction>, respectively. <ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="INF" name="cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU3MQ_5abf9a2b-6b86-4a16-ba4b-6a38531a1c07"><ix:nonFraction unitRef="usd" contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231" decimals="INF" name="cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU3MQ_bac79fd4-4e53-4558-839e-d938d13fde0d">No</ix:nonFraction></ix:nonFraction> compensation expense was capitalized as of July&#160;3, 2022 or December&#160;31, 2021.</span></div><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgyNw_3bd3ac00-19ee-4dc3-87c0-56ac0ca3b6b8" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:38.812%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.941%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i42059a6f763e44de9fd3f1dc1ae818ae_D20220404-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi0xLTEtMS02NjkwNA_9ee7c1b9-2c6d-4c68-9ebf-b09124bb5dc6">482</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8b194c1428cc4cc3a049747722c7dbad_D20210405-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi0zLTEtMS02NjkwNA_ef7398b6-c3c5-4fef-b2bc-d74786c36e90">351</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9ef24690ee624002b1e38e47c666a2b1_D20220101-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi01LTEtMS02NjkwNA_77f1a9f3-1c28-4fdc-88dc-960cf4f355ff">1,045</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i24623843aab94e8490eca1b8e6802b2e_D20210101-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi03LTEtMS02NjkwNA_75466a80-5e47-4015-bc50-df264070d5ee">599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i16e9aa4c43284b06a6bf707e53fc421b_D20220404-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy0xLTEtMS02NjkwNA_c8a880bb-3813-480f-a40f-5ab75f5894a5">3,851</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i06b5ba8490b84cd2a46add82788b3311_D20210405-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy0zLTEtMS02NjkwNA_b5ca40d0-4941-4808-be7b-4fc72c6e2c8b">3,064</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id78527f3e5b14eac8e241989a2b143af_D20220101-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy01LTEtMS02NjkwNA_033051a8-012b-4516-844e-9fbc7bfa9684">8,299</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id1bff5b758f442518f0e0a460097e012_D20210101-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy03LTEtMS02NjkwNA_bcb0425e-a21c-46c2-af6d-5073d4b1f9be">7,067</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i31eea51c97224657b3b10d8f8987614e_D20220404-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC0xLTEtMS02NjkwNA_185e4fa9-bf05-4854-9f21-eb03497a5b93">8,664</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id88af386d5a5435180d92d01e15ece8c_D20210405-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC0zLTEtMS02NjkwNA_c1891fa2-37cb-40fe-a83f-d36c26d7dea0">7,315</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icf547b2babc04b978f280624150cb111_D20220101-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC01LTEtMS02NjkwNA_c166c84c-afd1-44da-8e20-f6c4ee9f56b8">18,709</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6693853fc15e47d387c2d4dde38dc6b4_D20210101-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC03LTEtMS02NjkwNA_5c63ecb9-d734-421c-abbf-aebf49445cee">15,073</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS0xLTEtMS02NjkwNA_2d68213e-edb5-417e-aa37-079c003da9c9">12,997</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS0zLTEtMS02NjkwNA_26df9599-6dc8-40f7-9e06-16963edd6b4f">10,730</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS01LTEtMS02NjkwNA_e102c811-0a7a-4b86-a3c2-0881e14d3f0e">28,053</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS03LTEtMS02NjkwNA_4b1b5c62-80a5-4262-ae3d-86d8ec708d0a">22,739</ix:nonFraction>&#160;</span></td><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"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">21</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_82"></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 14: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMTA2Nw_b40e9eae-d59b-43dc-b217-b228b5e137e1" continuedAt="i95b3ca64235a4035a060b2f18f850339" escape="true">Stock Repurchase Program</ix:nonNumeric></span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i95b3ca64235a4035a060b2f18f850339">On March 12, 2020, the Company's Board of Directors authorized the repurchase of $<ix:nonFraction unitRef="usd" contextRef="i3fc1b579c763483f89e053ac4c3b765a_I20200312" decimals="INF" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMTIw_b6dad023-e168-4eb5-a2d2-096819c66a81">200,000,000</ix:nonFraction> of the Company's common stock. As of July&#160;3, 2022, the Company repurchased <ix:nonFraction unitRef="shares" contextRef="ib0d6310e188344299286abcdb9ee4c7f_D20211004-20220703" decimals="-3" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMTg4_6fe5dff6-b1b7-4285-a9a7-ff839d9835e2">2,737,000</ix:nonFraction> shares at a cost of $<ix:nonFraction unitRef="usd" contextRef="ib0d6310e188344299286abcdb9ee4c7f_D20211004-20220703" decimals="-3" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMjEx_a847a7ca-575a-4b91-9cd4-b914e42d30c6">200,000,000</ix:nonFraction> under this program, including <ix:nonFraction unitRef="shares" contextRef="ieac909b07de44bd78250f0bd7b3862bd_D20220101-20220703" decimals="-3" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMjQ0_3e875c12-a70f-4896-b185-8f0b129d38ae">1,677,000</ix:nonFraction> shares at a cost of $<ix:nonFraction unitRef="usd" contextRef="ieac909b07de44bd78250f0bd7b3862bd_D20220101-20220703" decimals="-3" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMjY3_f3e3472c-79b7-468c-a54c-67e6af8617e6">117,000,000</ix:nonFraction> during the six-month period ended July&#160;3, 2022, which completed purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $<ix:nonFraction unitRef="usd" contextRef="i8d82b56df1dc4c1e9bf6f07262e9e5cb_I20220303" decimals="INF" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNDUw_840f6d16-6021-4609-86c1-bd2aa7b0d7e5">500,000,000</ix:nonFraction> of the Company's common stock. During the six-month period ended July&#160;3, 2022, the Company repurchased <ix:nonFraction unitRef="shares" contextRef="idcc952b09a794344b7281af15824c4f8_D20220101-20220703" decimals="-3" name="us-gaap:StockRedeemedOrCalledDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNTQ4_dbfccec7-1c21-4b6d-a958-1b89c5e4b19c">590,000</ix:nonFraction> shares at a cost of $<ix:nonFraction unitRef="usd" contextRef="idcc952b09a794344b7281af15824c4f8_D20220101-20220703" decimals="-3" name="us-gaap:StockRedeemedOrCalledDuringPeriodValue" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNTcx_cb594ec2-3055-4081-b0f7-e948e4b01b2b">37,317,000</ix:nonFraction> under this program, leaving a remaining balance of $<ix:nonFraction unitRef="usd" contextRef="i05d2bb8b24d44451bd6b8bf8f694262a_I20220703" decimals="INF" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNjI1_8f802e4a-0cfd-4992-989b-70e7e7c62d46">462,683,000</ix:nonFraction> as of July&#160;3, 2022. 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.</ix:continuation> </span></div><div id="i439287817ac64be482e2ddc02068aa40_85"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 15: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzA3MA_35382d63-e55e-4594-82ac-4f1476650e5a" continuedAt="ia615844c5d4f4657be1cefcc8112cdc7" escape="true">Income Taxes</ix:nonNumeric></span></div><ix:continuation id="ia615844c5d4f4657be1cefcc8112cdc7" continuedAt="ia92bf5f96e4d4ebfa87a484308774ca8"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's effective tax rate was <ix:nonFraction unitRef="number" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzYzNw_fa2f8e30-cff6-4563-9c73-ea5549aae63b">9</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODE3NTQ3_01e8c2a2-5b5a-428a-b076-bfafeb8b3c18">17</ix:nonFraction>% for the three-month and six-month periods ended July&#160;3, 2022, respectively, and <ix:nonFraction unitRef="number" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA3_e0302863-2f49-4a52-990d-08e92c41e0fb">17</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODE3NTc0_ed1e31a0-7739-4857-8d72-a1d62a485824">14</ix:nonFraction>% for the three-month and six-month periods ended July&#160;4, 2021, respectively. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded a net discrete tax benefit totaling $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" sign="-" name="cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3MzUw_5b56d31b-820e-4367-9b07-7c5166cdfc09">4,792,000</ix:nonFraction> and a net discrete tax expense totaling $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3MzYy_15f3a7b4-bd4e-451a-8af0-0197f4fd7e8a">1,546,000</ix:nonFraction> for the three-month and six-month periods ended July 3, 2022, respectively, and net discrete tax benefits totaling $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" sign="-" name="cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3Mzc0_71b01bb4-aa27-4aa6-919a-1ba04f687e9e">896,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" sign="-" name="cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3Mzg0_a02d9fa1-fb04-48de-ad13-7a0f5d43b622">6,103,000</ix:nonFraction> for the same periods in 2021. Discrete tax items for the six-month period ended July&#160;3, 2022 included (1) a decrease in tax expense of $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="cgnx:EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2MjU3_a03e7ba7-bde8-4979-b1c0-395619a1cd39">2,440,000</ix:nonFraction> arising from the impact of the loss from fire recorded during the three-month period ended July&#160;3, 2022 (refer to Note 17), (2) an increase in tax expense of $<ix:nonFraction unitRef="usd" contextRef="iff9cb7e0db364d3c9ebc9afd22a27fea_D20220101-20220403" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxSettlements" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2NDEw_0df2ff15-89ce-49cc-8c4a-44929ec1afec">1,417,000</ix:nonFraction> arising from an Internal Revenue Service (IRS) audit recorded during the three-month period ended April 3, 2022, which was offset by a decrease in tax expense of $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxSettlements" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2NTc3_7a662656-a6b5-4c8e-8569-b946d491d579">2,519,000</ix:nonFraction> related to releases of reserves for income taxes due to the closure of this Internal Revenue Service (IRS) audit during the three-month period ended July&#160;3, 2022, (3) an increase in tax expense of $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2Nzcw_8ec52542-670b-4c22-b648-613b6f5af508">1,734,000</ix:nonFraction> to establish a full valuation allowance against deferred tax assets related to foreign tax credits recorded during the three-month period ended April 3, 2022, and (4) an increase in tax expense of $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:IncomeTaxReconciliationOtherAdjustments" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTI2NDQzODM3MzI5NzQ_b31397ea-882d-48e3-8f69-f52fd3c3df10">3,353,000</ix:nonFraction> primarily consisting of transfer pricing and return-to-provision adjustments.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discrete tax items for the three-month and six-month periods ended July&#160;4, 2021 included a decrease in tax expense of $<ix:nonFraction unitRef="usd" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMjQx_1625346e-43d9-4d3e-97b3-adf009538622">1,431,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODE3MDYy_28a3ef44-9331-4771-af4c-90a6177d4a5f">6,638,000</ix:nonFraction>, respectively, related to stock-based compensation, primarily from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises. This impact was not material for the three-month and six-month periods ended July&#160;3, 2022. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excluding the impact of these discrete tax items, the Company&#8217;s effective tax rate was <ix:nonFraction unitRef="number" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="2" name="cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA1MQ_b2852696-035e-443c-abb3-c1f25c20fd0c"><ix:nonFraction unitRef="number" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="2" name="cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA1MQ_d691436e-5173-41e1-a580-5d55fd30d5e2">16</ix:nonFraction></ix:nonFraction>% for both the three-month and six-month periods ended July&#160;3, 2022, and <ix:nonFraction unitRef="number" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="2" name="cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA5NA_11a04860-e679-4ade-b30f-2fd7bdf4572e"><ix:nonFraction unitRef="number" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="2" name="cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA5NA_3670f3a6-8cf8-4d6a-9185-26ca020ab3c3">18</ix:nonFraction></ix:nonFraction>% for both the three-month and six-month periods ended July&#160;4, 2021. 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 <ix:nonFraction unitRef="number" contextRef="if1f28032030149629ea887977930b17f_D20220101-20220703" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTMwNg_c26e980f-e930-415e-9a2b-c783fd0ee92e">12.5</ix:nonFraction>% in Ireland, <ix:nonFraction unitRef="number" contextRef="i26703be43d194ff3bf2447a906d96b4b_D20220101-20220703" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTMyMQ_2c00f6ee-2311-43dd-af36-ae37d159e36e">25</ix:nonFraction>% in China, and <ix:nonFraction unitRef="number" contextRef="i347cee071f5e4f9aa3d8b3aaae04bf06_D20220101-20220703" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTMzOA_9efb89c0-4e5f-48b3-bf3c-75defd50dd15">22</ix:nonFraction>% in Korea compared to the U.S. federal statutory corporate tax rate of <ix:nonFraction unitRef="number" contextRef="i3bc52906d54b41dd9921df05814d6f99_D20220101-20220703" decimals="2" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTQxMQ_e401640b-5ef5-4452-a119-c8dca82ef911">21</ix:nonFraction>%. These differences resulted in a lower effective tax rate for the three-month and six-month periods ended July&#160;3, 2022 as compared to the same periods in 2021 due to more of the Company's profits being earned and taxed in lower tax jurisdictions. The remaining decrease in the effective tax rate for the three-month and six-month periods was primarily attributable to lower state taxes.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="cgnx:LiabilityForUncertainTaxPositions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTg3MA_d2810090-9527-48aa-b59f-558cafef6cfb">13,444,000</ix:nonFraction> as of July&#160;3, 2022, which included $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTg5OA_915749df-e005-45db-a1cc-70735e3869ad">12,876,000</ix:nonFraction> classified as a non-current liability and $<ix:nonFraction unitRef="usd" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredLiabilities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTk0Mw_d8b5d89f-a142-4983-9121-fb9a0d431731">568,000</ix:nonFraction> recorded as a reduction to non-current deferred tax assets. If the Company&#8217;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.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ia92bf5f96e4d4ebfa87a484308774ca8">Within the United States, the tax years <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="cgnx:TaxyearsopentoexaminationbyInternalRevenueService" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzA3Ng_8738bb5e-6e85-4631-93e4-333901fd3526">2019 through 2020</ix:nonNumeric> remain open to examination by the IRS, and 2017 through 2020 remain open to examination by various state tax authorities. The tax years <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzA3MQ_5eef7fc1-8234-47b9-b5ba-20e1418f9c2d">2016 through 2021</ix:nonNumeric> remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company received the Closing Letter for Agreed Income Tax Cases from the IRS and the Company is no longer under audit by the IRS for the tax years 2017 and 2018. As a result, management released reserves associated with the periods under audit which decreased tax expense by approximately $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMjgyMA_871fb66d-1651-42a4-aa89-586d056dd0ba">2,519,000</ix:nonFraction> during the three-month period ended July&#160;3, 2022. The Company is no longer under audit by the Commonwealth of Massachusetts for tax years 2017 and 2018. The audit was completed during the six-month period ended July&#160;3, 2022 and resulted in no material tax impact to the Company's financial statements.</ix:continuation> </span></div><div id="i439287817ac64be482e2ddc02068aa40_88"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 16: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:EarningsPerShareTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfODIx_07afe983-66d8-4535-8e43-d26c932dc903" continuedAt="i9e34d8008b174df0ae4a1771938935b2" escape="true">Weighted-Average Shares</ix:nonNumeric></span></div><ix:continuation id="i9e34d8008b174df0ae4a1771938935b2" continuedAt="i85adeefe933c4315b27a01bdcebe0be0"><ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfODE2_611a0148-ab7b-4e2e-bce5-c24c58626255" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:42.028%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.794%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi0xLTEtMS02NjkwNA_1695d314-7c08-4449-9e7d-ba9bc30adeec">173,507</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi0zLTEtMS02NjkwNA_acc167b8-3bcf-48a3-89f3-a148a8509f9f">176,626</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi01LTEtMS02NjkwNA_9b03bb10-c1b8-4478-8817-2c0301557f9d">173,830</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi03LTEtMS02NjkwNA_eaddf047-f1f2-41d5-a4d8-3d91029c047e">176,454</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy0xLTEtMS02NjkwNA_475d8c06-2510-4878-8bf6-703a34704f84">1,486</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy0zLTEtMS02NjkwNA_f6165e0a-353e-4b6b-abc1-bda89985d6db">3,365</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy01LTEtMS02NjkwNA_5244a219-9743-45e1-bedc-41a3608950d5">2,044</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy03LTEtMS02NjkwNA_8a92f294-308d-4443-a3c3-0572841cd53a">3,528</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC0xLTEtMS02NjkwNA_52aa44c2-ec83-4917-9279-27f0a456798e">174,993</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC0zLTEtMS02NjkwNA_16af35c3-12d2-4d25-b3a4-1d168b1a490a">179,991</ix:nonFraction>&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC01LTEtMS02NjkwNA_b641d9d5-ca4c-4b81-bdab-cb313fef41d8">175,874</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC03LTEtMS02NjkwNA_bc2430c3-a591-4fcf-90a0-6c6f302af31a">179,982</ix:nonFraction>&#160;</span></td><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"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i85adeefe933c4315b27a01bdcebe0be0">Stock options to purchase <ix:nonFraction unitRef="shares" contextRef="i8e6b59647e2146019e00324651aeced5_D20220404-20220703" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTM0_9576b429-6d8b-4f1e-b804-c0a3fb4ade5c">4,048,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ia8e6091c580a4d358cd24380f089296c_D20220101-20220703" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTQx_e0ac4127-563c-42b2-be62-05875062fa14">1,818,000</ix:nonFraction> shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively, and <ix:nonFraction unitRef="shares" contextRef="i0bd75fa5c10f487c84cc3aa90a628adf_D20210405-20210704" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODcxNQ_95d9a848-f85a-47e2-9ba3-4a475988d3c9">701,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ib1d1c6cb6bd84b09bfdc6915cafe0810_D20210101-20210704" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODcyNA_9f36fdef-699f-47b6-899f-a594fdaf37c1">591,000</ix:nonFraction> for the same periods in 2021, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling <ix:nonFraction unitRef="shares" contextRef="ia8407e06f9f04c1b8e10743d2acb88ff_D20220404-20220703" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNDE1_c9983d99-a41f-4208-b041-31758c64b747">480,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i67659c71dc044f0c8d56d979deb57d82_D20220101-20220703" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNDIy_70954e97-2e35-4f32-a738-be86a7139b53">21,000</ix:nonFraction> shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively and <ix:nonFraction unitRef="shares" contextRef="ic95019c016be45aba7f5e3731a1c89c3_D20210405-20210704" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODgzNg_72032b41-4d2c-45d5-8a83-0bf7783460b3">500</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i090d24bbbe26480daa0af82355e528d5_D20210101-20210704" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODg0MQ_15a4de30-5d5b-4f96-ab1e-adb708ca51f8">1,000</ix:nonFraction> for the same periods in 2021, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Performance restricted stock units totaling <ix:nonFraction unitRef="shares" contextRef="i2221882fbb26469788afb36f06c90c29_D20220404-20220703" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNTQ5NzU1ODE1Nzc1_04a5f31f-df2d-43f6-8aeb-bd29c3f520a6">33,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="if5634baab7934f40b849dfe86c5fe611_D20220101-20220703" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNTQ5NzU1ODE1ODQ0_8562e4a0-7837-4de9-bec6-07b0d6ddb665">0</ix:nonFraction> shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. There were <ix:nonFraction unitRef="shares" contextRef="i349d802412c84b77b0baa6b5a8bd9c06_D20210405-20210704" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNjc1_077bd73c-f54d-457f-8ff5-931cf2ac287a"><ix:nonFraction unitRef="shares" contextRef="i50ca9cb4d6094e4ab253b56ba18f095e_D20210101-20210704" decimals="INF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNjc1_f561e86d-c2f2-4622-a1b3-f5f636e62acc">no</ix:nonFraction></ix:nonFraction> anti-dilutive performance restricted stock units outstanding, on a weighted-average basis, during the three-month and six-month periods July&#160;4, 2021.</ix:continuation> </span></div><div id="i439287817ac64be482e2ddc02068aa40_1086"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 17: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="cgnx:LossFromCatastropheTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MzMwNTA_4a636cea-6e74-4315-bf3b-28b204da68f2" continuedAt="i9b1488baede443e9b0dc55a77eec7f92" escape="true">Loss from Fire</ix:nonNumeric></span></div><ix:continuation id="i9b1488baede443e9b0dc55a77eec7f92" continuedAt="i1c4394ae8b50445380e251a873437a48"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 7, 2022, the Company&#8217;s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. Since the date of the fire and continuing through the date of this report, the Company has worked with the contract manufacturer to assess the damage, resume production, and begin the process of replenishing inventories destroyed by the fire. Additionally, beginning last year, the Company has been working to ramp up an additional contract manufacturer to further mitigate risk, diversify supply chain, and expand production capacity. We expect this additional contract manufacturer to commence production later in the year. As a result of the fire, the Company recorded $<ix:nonFraction unitRef="usd" contextRef="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607" decimals="-3" name="cgnx:GrossLossFromCatastrophes" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI0NzE_6bb17a7d-3dfa-4f95-87e8-2af9271368f1">44,903,000</ix:nonFraction> in gross losses, including $<ix:nonFraction unitRef="usd" contextRef="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607" decimals="-3" name="us-gaap:InventoryWriteDown" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI0NTg_c0ceecb1-4d72-4414-b46b-15853d99c532">36,484,000</ix:nonFraction> of primarily Cognex-owned inventory that was destroyed or deemed to have a net realizable value of zero and $<ix:nonFraction unitRef="usd" contextRef="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607" decimals="-3" name="us-gaap:AssetImpairmentCharges" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MzcwMDE_c2bf5e36-3d4b-49c8-bc0d-0023c61dc1db">8,419,000</ix:nonFraction> of primarily prepayments related to Cognex-designated components that were owned by the contract manufacturer. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the provisions of the Company's insurance policies, the gross losses have been reduced by the estimated insurance proceeds expected to be received from the Company&#8217;s insurance carrier. The Company has determined that partial recovery of the incurred losses is probable and therefore recorded an insurance recovery of $<ix:nonFraction unitRef="usd" contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703" decimals="-3" name="us-gaap:EstimatedInsuranceRecoveries" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI1MjA_5103955c-8680-4786-84f3-d5658e79848c">27,500,000</ix:nonFraction> during the three-month period ended July&#160;3, 2022. The insurance receivable is included in &#8220;Prepaid expenses and other current assets&#8221; on the Consolidated Balance Sheets. The gross losses, net of insurance recovery, total $<ix:nonFraction unitRef="usd" contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703" decimals="-3" name="us-gaap:LossFromCatastrophes" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI1MDc_93ea0854-f19e-46c7-8e07-7eb09d5f9c4d">17,403,000</ix:nonFraction> and is presented in the caption &#8220;Loss from fire&#8221; on the Consolidated Statements of Operations. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022 and through the date of financial statement issuance, management cannot estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:82.8pt;width:100%"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COGNEX CORPORATION </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span></div></div><ix:continuation id="i1c4394ae8b50445380e251a873437a48"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">realizable. There can be no assurance, however, that the expected insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After considering all the relevant events and circumstances resulting from the fire, management does not believe that the carrying value of the Company exceeds its fair value, or that the carrying amount of the Company&#8217;s intangible assets may not be recoverable. As such, no goodwill or intangible asset impairment charges were recorded during the three-month period ended July&#160;3, 2022 as a result of the fire.</span></div></ix:continuation><div id="i439287817ac64be482e2ddc02068aa40_91"></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 18: <ix:nonNumeric contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703" name="us-gaap:SubsequentEventsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF85MS9mcmFnOmJkYmY5MzRiNTM0NDRjZWQ4NWQzZDFlMWY2NDg0ZTFmL3RleHRyZWdpb246YmRiZjkzNGI1MzQ0NGNlZDg1ZDNkMWUxZjY0ODRlMWZfMjEy_6d3d02c7-2f31-4c61-a649-336ba97d9f7c" continuedAt="i2ac9e5b8fd6a45dfbcfb76dba5617d8c" escape="true">Subsequent Events</ix:nonNumeric></span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i2ac9e5b8fd6a45dfbcfb76dba5617d8c">On August 2, 2022, the Company&#8217;s Board of Directors declared a cash dividend of $<ix:nonFraction unitRef="usdPerShare" contextRef="i61ce873236814a3fa8823db347733f60_D20220802-20220802" decimals="INF" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF85MS9mcmFnOmJkYmY5MzRiNTM0NDRjZWQ4NWQzZDFlMWY2NDg0ZTFmL3RleHRyZWdpb246YmRiZjkzNGI1MzQ0NGNlZDg1ZDNkMWUxZjY0ODRlMWZfMTAw_b1e719ba-b63b-45d3-ada0-d7b11ed075c8">0.065</ix:nonFraction> per share. The dividend is payable on September 2, 2022 to all shareholders of record as of the close of business on August 19, 2022.</ix:continuation> </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">24</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_94"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;2: MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Forward-Looking Statements</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section&#160;27A of the Securities Act of 1933, as amended, and Section&#160;21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;estimates,&#8221; &#8220;believes,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;shall,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; and similar words and other statements of a similar sense. These statements are based on our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given. These forward-looking statements, which include statements regarding business and market trends, future financial performance and financial targets, the expected impact of the fire at our primary contract manufacturer's warehouse on our assets, business and results of operations and related insurance recoveries, customer demand and order rates and timing of related revenue, managing supply shortages, delivery lead times, future product mix, research and development activities, sales and marketing activities, new product offerings and product development activities, capital expenditures, investments, liquidity, dividends and stock repurchases, strategic and growth plans, and estimated tax benefits and expenses and other tax matters, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include: (1) the reliance on key suppliers such as our primary contract manufacturer to manufacture and deliver quality products; (2) delays in the delivery of our products, the failure to meet delivery schedules, and resulting customer dissatisfaction or loss of sales; (3) the inability to obtain, or the delay in obtaining components for our products at reasonable prices; (4) the failure to effectively manage product transitions or accurately forecast customer demand; (5) the inability to manage disruptions to our distribution centers or to our key suppliers; (6) the inability to design and manufacture high-quality products; (7) the impact, duration, and severity of the COVID-19 pandemic, including the availability and effectiveness of vaccines as well as government lockdowns; (8) the loss of, or curtailment of purchases by, large customers in the logistics or consumer electronics industries; (9) information security breaches; (10) the inability to protect our proprietary technology and intellectual property; (11) the inability to attract and retain skilled employees and maintain our unique corporate culture; (12) the technological obsolescence of current products and the inability to develop new products; (13) the failure to properly manage the distribution of products and services, including the management of lead times and delivery dates; (14) the impact of competitive pressures; (15) the challenges in integrating and achieving expected results from acquired businesses; (16) potential disruptions in our business systems; (17) potential impairment charges with respect to our investments or acquired intangible assets; (18) exposure to additional tax liabilities; (19) fluctuations in foreign currency exchange rates and the use of derivative instruments; (20) unfavorable global economic conditions, including high inflation rates; (21) business disruptions from natural or man-made disasters, such as fire, or public health issues; (22) economic, political, and other risks associated with international sales and operations, including the impact of the war in Ukraine; and (23) our involvement in time-consuming and costly litigation. The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item&#160;1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2021, as updated by Part II - Item 1A of this Quarterly Report on Form 10-Q. The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Executive Overview</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate manufacturing and distribution tasks where vision is required. In addition to product revenue derived from the sale of machine vision products, the Company also generates revenue by providing maintenance and support, consulting, and training services to its customers; however, service revenue accounted for less than 10% of total revenue for all periods presented.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cognex machine vision is used to automate manufacturing and distribution processes in a variety of industries, where the technology is widely recognized as an important component of automated production and quality assurance. Virtually every manufacturer or distributor can achieve better quality and efficiency by using machine vision, and therefore, Cognex products are used by a broad base of customers across a variety of industries, including logistics, automotive, consumer electronics, medical-related, semiconductor, consumer products, and food and beverage.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue for the second quarter of 2022 totaled $274,628,000, representing an increase of 2% from the second quarter of 2021. The increase was driven by higher revenue from the consumer electronics industry, offset by lower revenue in the logistics industry and the unfavorable impact of foreign currency exchange rate changes on revenue. Gross margin as a percentage of revenue was 72% for the second quarter of 2022 compared to 75% for the second quarter of 2021 due largely to higher inventory purchase prices paid to secure strategic inventories during the global supply chain shortage. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses of $131,344,000 increased 21% for the second quarter of 2022 over the prior year. On June 7, 2022, our third-party contract manufacturer suffered a fire at its Indonesian facility destroying a large portion of the Company's component inventories. The Company recorded a net loss related to the fire of $17,403,000, consisting of losses from inventories and other assets of $44,903,000, offset by an estimated insurance recovery of $27,500,000. Excluding this recorded net loss, operating expenses grew 5% from the second quarter of 2021 due primarily to additional headcount to support our continued growth plans. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the loss from the fire and lower gross margin percentage, operating income declined to 24% of revenue for the second quarter of 2022 as compared to 34% of revenue for the second quarter of 2021. Operating income excluding the impact of the loss from fire was 30% of revenue for the second quarter of 2022. Tax expense declined as a result of favorable discrete tax adjustments related to the loss of assets from the fire and reversal of reserves for an Internal Revenue Service (IRS) audit closed in the second quarter, as well as a more favorable effective tax rate. Net income declined to 21% of revenue for the second quarter of 2022 from 29% of revenue for the second quarter of 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As foreign currency exchange rates are a factor in understanding period-to-period comparisons, we believe the presentation of results on a constant-currency basis in addition to reported results helps improve investors&#8217; ability to understand our operating results and evaluate our performance in comparison to prior periods. We also use results on a constant-currency basis as one measure to evaluate our performance. Constant-currency information compares results between periods as if exchange rates had remained constant period-over-period. We generally refer to such amounts calculated on a constant-currency basis as excluding the impact of foreign currency exchange rate changes. Results on a constant-currency basis are not in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) and should be considered in addition to, and not as a substitute for, results prepared in accordance with U.S. GAAP.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Revenue</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue increased by $5,470,000, or 2%, for the three-month period and increased by $48,850,000, or 10%, for the six-month period compared to the same periods in 2021. Changes in foreign exchange rates resulted in a lower level of reported revenue in 2022 as compared to 2021. Excluding the impact of foreign currency exchange rate changes, revenue increased by 6% for the three-month period and by 13% for the six-month period compared to the same periods in 2021. </span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The largest contributor to growth over the prior year came from the consumer electronics industry, which also increased in the second quarter of 2022 from the first quarter of 2022 due to the timing of large customer deployments. In contrast, revenue from the logistics industry declined in the second quarter of 2022 from the first quarter of 2022 due to the timing of large customer projects. This trend resulted in a decrease in logistics revenue for the three-month period, while revenue for the six-month period was slightly higher than the prior year benefiting from a strong first quarter of 2022. The broader factory automation market experienced slower spending trends in the second quarter of 2022 from the first quarter of 2022, although the majority of these markets delivered higher revenue than the prior year, including the automotive industry. </span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in revenue from a geographic perspective were as follows: </span></div><div style="margin-bottom:8pt;margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Revenue from customers based in the Americas decreased from the prior year by 16% for the three-month period and was slightly higher for the six-month period compared to the same periods in 2021. The decrease in revenue for the three-month period was driven by lower revenue in the logistics industry. </span></div><div style="margin-bottom:8pt;margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Revenue from customers based in Europe increased by 3% for the three-month period and 7% for the six-month period compared to the same periods in 2021. Changes in foreign currency exchange rates resulted in a lower level of reported revenue in 2022, as sales denominated in Euros were translated into U.S. Dollars at a lower rate. Excluding the impact of foreign currency exchange rate changes, revenue from customers based in Europe increased by 13% for the three-month period and 15% for the six-month period, coming from customers in a variety of industries. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:8pt;margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Revenue from customers based in Greater China increased by 32% for the three-month period and 30% for the six-month period compared to the same periods in 2021. Changes in foreign currency exchange rates did not have a material impact on revenue. The increase came from multiple industries, led by strong growth in consumer electronics.</span></div><div style="margin-bottom:8pt;margin-top:5pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Revenue from other countries in Asia increased by 4% for the three-month period and 13% for the six-month period compared to the same periods in 2021. Changes in foreign currency exchange rates resulted in a lower level of reported revenue in 2022, primarily from sales denominated in Japanese Yen and Korean Won. Excluding the impact of foreign currency exchange rate changes, revenue from these customers increased by 11% for the three-month period and 20% for the six-month period, coming from a variety of industries, most notably semiconductor. </span></div><div style="text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on our ongoing assessment and as of the date of this report, we currently expect that revenue for the third quarter of 2022 will be significantly lower than the second quarter of 2022 due to the impact of the fire on June 7, 2022 at our primary contract manufacturer in Indonesia. Although production has resumed, a large amount of component inventories were destroyed in the fire restricting our ability to manufacture finished products. Accordingly, we anticipate challenges in meeting certain customer-requested delivery dates in the third quarter, resulting in delayed shipments or possible loss of sales. Further contributing to the decline in revenue for the third quarter of 2022, we currently expect lower revenue from e-commerce logistics customers.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Gross Margin</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross margin as a percentage of revenue was 72% for both the three-month and six-month periods in 2022 compared to 75% and 76% for the three-month and six-month periods in 2021, respectively. The decrease was almost entirely due to higher prices paid to purchase inventories, including higher costs for components and freight, due largely to global supply chain constraints. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on our ongoing assessment and as of the date of this report, we currently expect that gross margin as a percentage of revenue for the third quarter of 2022 will be approximately 70%. The expected gross margin percentage reflects our expectations that higher inventory purchase prices will continue to put pressure on margins throughout and beyond the third quarter of 2022 as we work to replenish inventories destroyed by the fire on June 7, 2022 at our primary contract manufacturer. These efforts are expected to include broker-buy purchases at higher-than-normal prices.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Operating Expenses</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Research, Development, and Engineering Expenses</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research, development, and engineering (RD&amp;E) expenses increased by $2,689,000, or 9%, for the three-month period and increased by $4,638,000, or 7%, for the six-month period as detailed in the table below (in thousands).</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.660%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.521%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-month period</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-month period</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RD&amp;E expenses in 2021</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,302&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,407&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Personnel-related costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,582&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,494&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prototyping materials</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outsourced engineering services</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">375&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">803&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Incentive compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(666)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,377)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,282)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,158)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,303&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,667&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RD&amp;E expenses in 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33,991</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">70,045</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RD&amp;E expenses increased due to higher personnel-related costs due to headcount additions to support new product initiatives and salary increases provided to employees. Stock-based compensation expense was also higher than the prior year due to a higher level of stock-based grants at a higher average economic value, as well as the impact of a forfeiture rate true-up that resulted in higher expense. Higher spending on prototyping materials and outsourced engineering services also contributed to the increase. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These increases were partially offset by lower incentive compensation expenses than the prior year. Relevant performance goals for these compensation plans are set at the beginning of each year, with the ability to earn </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">upside if the goals are exceeded. Performance goals set for 2021 incentive bonuses were exceeded, resulting in a higher level of bonus expense recorded in the first half of 2021. RD&amp;E expenses were also lower than the prior year due primarily to the impact of foreign currency exchange rate changes, as costs denominated in foreign currencies were translated into U.S. Dollars at a lower rate.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RD&amp;E expenses as a percentage of revenue were 12% and 13% for the three-month period and six-month period, respectively, compared to 12% and 13% for the same periods in 2021. We believe that a continued commitment to RD&amp;E activities is essential to maintain or achieve product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers. In addition, we consider our ability to accelerate the time to market for new products to be critical to our revenue growth. This quarterly percentage is impacted by revenue levels and investing cycles.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Selling, General, and Administrative Expenses</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general, and administrative (SG&amp;A) expenses increased by $3,107,000, or 4%, for the three-month period and $11,518,000, or 8%, for the six-month period of 2021 as detailed in the table below (in thousands). </span></div><div style="margin-top:5pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.952%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.375%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-month period</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-month period</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">SG&amp;A expenses in 2021</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,843&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">149,267&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Personnel-related costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,457&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,837&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,479&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,866&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Travel expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,524&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,956&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales demonstration equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,066&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Incentive compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,713)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,064)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,271)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,237)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,876&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,094&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">SG&amp;A expenses in 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,950</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">160,785</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SG&amp;A expenses increased due to higher personnel-related costs due to headcount additions, primarily for Sales personnel to support the Company's revenue growth, and salary increases provided to employees given the increasingly competitive job market within certain regions and specialties. In addition to salaries and fringe benefits, these personnel-related costs included sales commissions and travel expenses related to the additional headcount. Stock-based compensation expense was also higher than the prior year due to a higher average economic value of stock-based grants, as well as the impact of a forfeiture rate true-up that resulted in higher expense. While travel expenses increased due to the number of sales personnel added, expenses also increased due to a higher level of travel activity as restrictions related to COVID-19 continued to ease. Higher spending on sales demonstration equipment tied to new product launches in the first quarter also contributed to the year-over-year increase.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These increases were partially offset by lower incentive compensation expenses than the prior year, which included sales commissions and incentive bonuses. Relevant performance goals for these plans are set at the beginning of each year, with the ability to earn upside if the goals are exceeded. Performance goals set for 2021 incentive bonuses were exceeded, resulting in a higher level of bonus expense recorded in the first half of 2021. SG&amp;A expenses were also lower than the prior year due to the impact of foreign currency exchange rate changes, as costs denominated in foreign currencies were translated into U.S. Dollars at a lower rate.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Loss from Fire</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 7, 2022, the Company&#8217;s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories, as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. Since the date of the fire and continuing through the date of this report, the Company has worked with the contract manufacturer to assess the damage, resume production, and begin the process of replenishing inventories destroyed by the fire. Additionally, beginning last year, the Company has been working to ramp up an additional contract manufacturer to further mitigate risk, diversify supply chain, and expand production capacity. We expect this additional contract manufacturer to commence production later in the year. As a result of the fire, the Company recorded $44,903,000 in gross losses in the second quarter of 2022, including $36,484,000 of Cognex-owned inventories and $8,419,000 of primarily prepayments related to Cognex-designated components that were owned by the contract manufacturer.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the provisions of the Company's insurance policies, the gross losses have been reduced by the estimated insurance proceeds expected to be received from the Company&#8217;s insurance carrier. The Company has determined </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that partial recovery of the incurred losses is probable and therefore recorded an insurance recovery of $27,500,000 in the second quarter of 2022. The gross losses, net of insurance recovery, total $17,403,000 and is presented in the caption &#8220;Loss from fire&#8221; on the Consolidated Statements of Operations. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July 3, 2022 and through the date of financial statement issuance, management cannot yet estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or realizable. There can be no assurance, however, that the expected insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Non-operating Income (Expense)</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded foreign currency losses of $2,043,000 and $2,487,000 for the three-month and six-month periods in 2022, respectively, compared to foreign currency losses of $639,000 and $1,647,000 for the same periods in 2021. Foreign currency gains and losses result primarily from the revaluation and settlement of assets and liabilities that are denominated in currencies other than the functional currency of the Company, which is the U.S. Dollar, or its subsidiaries.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Investment income decreased $218,000, or 13%, for the three-month period and $303,000, or 9%, for the six-month period, compared to the same periods in 2021. The decrease was due primarily to lower yields on the Company's portfolio of debt securities, partially offset by higher invested balances.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded other expense of $188,000 and $236,000 for the three-month and six-month periods in 2022, respectively, compared to $127,000 and $295,000 for the same periods in 2021.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Income Tax Expense (Benefit)</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's effective tax rate was 9% and 17% for the three-month and six-month periods ended July 3, 2022, respectively, and 17% and 14% for the three-month and six-month periods ended July 4, 2021, respectively. </span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded a net discrete tax benefit totaling $4,792,000 and a net discrete tax expense totaling $1,546,000 for the three-month and six-month periods ended July 3, 2022, respectively, and net discrete tax benefits totaling $896,000 and $6,103,000 for the same periods in 2021. Discrete tax items for the six-month period ended July 3, 2022 included (1) a decrease in tax expense of $2,440,000 arising from the impact of the loss from fire recorded during the three-month period ended July 3, 2022 (refer to Note 17), (2) an increase in tax expense of $1,417,000 arising from an Internal Revenue Service (IRS) audit recorded during the three-month period ended April 3, 2022, which was offset by a decrease in tax expense of $2,519,000 related to releases of reserves for income taxes due to the closure of this Internal Revenue Service (IRS) audit during the three-month period ended July 3, 2022, (3) an increase in tax expense of $1,734,000 to establish a full valuation allowance against deferred tax assets related to foreign tax credits recorded during the three-month period ended April 3, 2022, and (4) an increase in tax expense of $3,353,000 primarily consisting of transfer pricing and return-to-provision adjustments.</span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discrete tax items for the three-month and six-month periods ended July 4, 2021 included a decrease in tax expense of $1,431,000 and $6,638,000, respectively, related to stock-based compensation, primarily from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises. This impact was not material for the three-month and six-month periods ended July 3, 2022. </span></div><div style="margin-bottom:8pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excluding the impact of these discrete items, the Company&#8217;s effective tax rate was 16% for both the three-month and six-month periods ended July 3, 2022, and 18% for both the three-month and six-month periods ended July 4, 2021. The decrease in the effective tax rate for the three-month and six-month periods ended July 3, 2022 and July 4, 2021 was due to more of the Company's profits being earned and taxed in lower tax jurisdictions, as well as lower state taxes.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has historically been able to generate positive cash flow from operations, which has funded its operating activities and other cash requirements and has resulted in an accumulated cash and investment balance of $788,081,000 as of July 3, 2022. The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s cash requirements for the six-month period in 2022 were primarily met with positive cash flows from operations, as well as the sale and maturity of investments. Cash requirements consisted of operating activities, the repurchase of common stock, the payment of dividends, and capital expenditures. Cash flows from operating activities included the purchase of inventories intended to support higher business levels, secure key strategic components to meet customer demand, and carry higher stocking levels to mitigate the Company's exposure to demand changes or supply disruptions. It is expected that the Company's efforts to replenish inventories destroyed by the fire on June 7, 2022 at the Company's primary contract manufacturer will result in significant cash outflows for inventories through at least the remainder of the year.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capital expenditures for the six-month period in 2022 totaled $11,253,000 and consisted primarily of computer hardware and software, manufacturing test equipment related to new product introductions, and leasehold improvements related to a new distribution center in Southborough, Massachusetts. During the first quarter of 2022, the Company placed into service new business systems related to its sales process. The Company expects to continue to make investments in its business systems intended to improve productivity or provide competitive advantages, although these investments are not expected to be material over the long term.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 12, 2020, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July 3, 2022, the Company repurchased 2,737,000 shares at a cost of $200,000,000 under this program, including 1,677,000 shares at a cost of $117,000,000 during the six-month period ended July 3, 2022, which completed the authorized purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. During the six-month period ended July 3, 2022, the Company repurchased 590,000 shares at a cost of $37,317,000 under this program, leaving a remaining balance of $462,683,000 as of July 3, 2022. 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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s Board of Directors declared and paid cash dividends of $0.065 per share for the first and second quarters of 2022, totaling $22,573,000. Future dividends will be declared at the discretion of the Company's Board of Directors and will depend on such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company believes that its existing cash and investment balances, together with cash flow from operations, will be sufficient to meet its operating, investing, and financing activities for the next twelve months. In addition, the Company has no long-term debt. We believe that our strong cash position has put us in a relatively good position with respect to anticipated longer-term liquidity needs.</span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">New Pronouncements</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Part I - Note 2 within this Form 10-Q, for a full description of recently issued accounting pronouncements including the expected dates of adoption and the expected impact on the financial position and results of operations of the Company. </span></div><div id="i439287817ac64be482e2ddc02068aa40_97"></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no material changes to the Company&#8217;s exposures to market risk since December&#160;31, 2021.</span></div><div id="i439287817ac64be482e2ddc02068aa40_100"></div><div style="margin-top:6pt;text-align:justify"><span><br/></span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;4: CONTROLS AND PROCEDURES</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, the Company has evaluated, with the participation of management, including the Chief Executive Officer and the Chief Financial Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Chief Financial Officer concluded that such disclosure controls and procedures were effective as of that date. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company&#8217;s systems evolve with its business. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There was no change in the Company's internal control over financial reporting that occurred during the quarter ended July&#160;3, 2022 that materially affected, or is reasonably likely to materially affect, the Company's internal control over financial reporting.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">30</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_103"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II: OTHER INFORMATION</span></div><div id="i439287817ac64be482e2ddc02068aa40_106"></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;1. LEGAL PROCEEDINGS</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company. While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.</span></div><div id="i439287817ac64be482e2ddc02068aa40_109"></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;1A. RISK FACTORS</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a list of factors that could affect the Company&#8217;s business, results of operations, and financial condition, see the risk factors discussion provided in Part I&#8212;Item&#160;1A of the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2021. The following information updates, and should be read in conjunction with, Part I - Item 1A of the Company's Annual Report on Form 10-K for the fiscal year ended December 31, 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Our primary contract manufacturer experienced a fire at its plant in Indonesia at which Cognex products are manufactured and inventory is stored, which has had, and may continue to have, a negative impact on our business and results of operations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 7, 2022, our primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. Since the date of the fire and continuing through the date of this report, we have worked with the contract manufacturer to assess the damage, resume production, and begin the process of replenishing inventories destroyed by the fire. We also have been working to ramp up an additional contract manufacturer to further mitigate risk, diversify supply chain, and expand production capacity. We expect this additional contract manufacturer to commence production later in the year, although no assurances can be made in this regard. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our inability to manufacture and deliver quality product in a timely manner to our customers as a result of the fire could result in delayed shipments, loss of sales and/or customer dissatisfaction, any of which could adversely impact our business, financial condition or results of operations. Delays in customer orders also would result in delayed revenue recognition which could impact our operating results in a particular quarter. We currently anticipate challenges in meeting certain customer-requested delivery dates for the third quarter of 2022 and potentially thereafter, if our inventory has not been adequately replenished or full production of our products has not otherwise resumed. We cannot predict the extent to which orders may be delayed or sales may be lost. Moreover, we anticipate challenges in replenishing the inventories destroyed in the fire given current supply chain constraints and volatile market conditions. In addition, our efforts to replenish this inventory may include purchases at higher-than-normal prices to increase speed to production, which would put pressure on our operating margins. We also can provide no assurance that insurance coverage and/or recoveries from the contract manufacturer will be available to cover our losses from the fire. Our assessment of the impact of the fire on our business remains ongoing as of the date of this report and, as a result, we cannot predict the full extent of the impact that the fire may have on our business, results of operations and financial condition. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">31</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_112"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth information with respect to purchases by the Company of shares of its common stock during the three-month period ended July&#160;3, 2022:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:37.813%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.969%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.969%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.961%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.586%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total<br/>Number<br/>of Shares<br/>Purchased</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average<br/>Price&#160;Paid<br/>per Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total&#160;Number&#160;of<br/>Shares<br/>Purchased as<br/>Part of Publicly<br/>Announced<br/>Plans or<br/>Programs (1)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Approximate<br/>Dollar Value<br/>of Shares that<br/>May Yet Be<br/>Purchased<br/>Under the<br/>Plans or<br/>Programs (1)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 4, 2022 - May 1, 2022</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,000&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73.15&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,000&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">479,955,000&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 2, 2022 - May 29, 2022</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">293,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58.92&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">293,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">462,683,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 30, 2022 - July 3, 2022</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">462,683,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">388,000&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62.28&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">388,000&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">462,683,000&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. Purchases under this program commenced in March 2022. 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.</span></div><div id="i439287817ac64be482e2ddc02068aa40_115"></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;3. DEFAULTS UPON SENIOR SECURITIES</span></div><div style="margin-top:6pt;text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i439287817ac64be482e2ddc02068aa40_118"></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;4. MINE SAFETY DISCLOSURES</span></div><div style="margin-top:6pt;text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div id="i439287817ac64be482e2ddc02068aa40_121"></div><div style="margin-top:6pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;5. OTHER INFORMATION</span></div><div style="margin-top:6pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">32</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_124"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="-sec-extract:summary"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM&#160;6. EXHIBITS</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:9.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.464%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration:underline">Exhibit Number</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a732022-10qxexhibit311.htm">Certification of Principal Executive Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a732022-10qxexhibit312.htm">Certification of Principal Financial Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a732022-10qxexhibit321.htm">Certification of Principal Executive Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002**</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a732022-10qxexhibit322.htm">Certification of Principal Financial Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002**</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.SCH</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Schema Document*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.CAL</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Calculation Linkbase Document*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.LAB</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Label Linkbase Document*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.PRE</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Presentation Linkbase Document*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.DEF</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Definition Linkbase Document*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Filed herewith</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">**</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furnished herewith</span></td></tr></table></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">33</span></div></div></div><div id="i439287817ac64be482e2ddc02068aa40_127"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:5.204%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:30.131%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.005%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.738%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:52.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2, 2022</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">COGNEX CORPORATION</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Robert J. Willett</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert J. Willett</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Executive Officer)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Paul D. Todgham</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Paul D. Todgham</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President of Finance and Chief Financial Officer</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial Officer)</span></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">34</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>a732022-10qxexhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="if12c203ce9354890833c7211afb39e83_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.1</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">CERTIFICATION</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Robert J. Willett, certify that&#58;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of Cognex Corporation&#59;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2&#160;&#160;&#160;&#160;Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;&#160;&#160;&#160;Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:4.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:31.744%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.999%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.152%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:53.007%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2, 2022</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Robert J. Willett</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert J. Willett</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Executive Officer)</font></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>a732022-10qxexhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i419182103eeb48739186b0eb37ba8a88_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.2</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">CERTIFICATION</font></div><div style="margin-top:6pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Paul D. Todgham, certify that&#58;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1&#160;&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of Cognex Corporation&#59;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2&#160;&#160;&#160;&#160;Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3&#160;&#160;&#160;&#160;Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:51.75pt;text-align:justify;text-indent:-18pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.78pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:6.084%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:31.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.999%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.152%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:52.421%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2, 2022</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Paul D. Todgham</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Paul D. Todgham</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President of Finance and Chief Financial Officer</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial Officer)</font></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>a732022-10qxexhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i9afb6f1ed46f45dcac0b8e9950f25427_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.1*</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CERTIFICATION PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 U.S.C. 1350,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to his knowledge that the Company&#8217;s quarterly report on Form 10-Q for the quarterly period ended July&#160;3, 2022 (the &#8220;Report&#8221;), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section&#160;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:7.099%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:31.696%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.410%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.145%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:52.050%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2, 2022</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Robert J. Willett</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robert J. Willett</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Executive Officer)</font></td></tr></table></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:2.853%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.947%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">This certification shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.</font></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>a732022-10qxexhibit322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i258469d3f7b044f69e0c06ef9a5df4a9_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.2*</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CERTIFICATION PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 U.S.C. 1350,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to his knowledge that the Company&#8217;s quarterly report on Form 10-Q for the quarterly period ended July&#160;3, 2022 (the &#8220;Report&#8221;), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section&#160;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:7.245%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.621%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.170%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:53.222%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2, 2022</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Paul D. Todgham</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Paul D. Todgham</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President of Finance and Chief Financial Officer</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Principal Financial Officer)</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><font><br></font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:2.853%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.947%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">This certification shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.</font></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>cgnx-20220703.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:99bc1a8f-2526-451f-973a-aa9140899242,g:fd3f35d6-c9ff-45b5-af84-3b0a27fd2c28-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:cgnx="http://www.cognex.com/20220703" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cognex.com/20220703">
  <xs:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/currency/2022" schemaLocation="https://xbrl.sec.gov/currency/2022/currency-2022.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20220703_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20220703_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20220703_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20220703_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.cognex.com/role/CoverPage">
        <link:definition>0001001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofOperations" roleURI="http://www.cognex.com/role/ConsolidatedStatementsofOperations">
        <link:definition>1001002 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofComprehensiveIncome" roleURI="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome">
        <link:definition>1002003 - Statement - Consolidated Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofComprehensiveIncomeParenthetical" roleURI="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical">
        <link:definition>1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets">
        <link:definition>1004005 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>1005006 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.cognex.com/role/ConsolidatedStatementsofCashFlows">
        <link:definition>1006007 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementofShareholdersEquity" roleURI="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity">
        <link:definition>1007008 - Statement - Consolidated Statement of Shareholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementofShareholdersEquityParenthetical" roleURI="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical">
        <link:definition>1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://www.cognex.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>2101101 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NewPronouncements" roleURI="http://www.cognex.com/role/NewPronouncements">
        <link:definition>2103102 - Disclosure - New Pronouncements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurements" roleURI="http://www.cognex.com/role/FairValueMeasurements">
        <link:definition>2104103 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsTables" roleURI="http://www.cognex.com/role/FairValueMeasurementsTables">
        <link:definition>2305301 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails">
        <link:definition>2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsDetails" roleURI="http://www.cognex.com/role/FairValueMeasurementsDetails">
        <link:definition>2407402 - Disclosure - Fair Value Measurements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestments" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestments">
        <link:definition>2108104 - Disclosure - Cash, Cash Equivalents, and Investments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestmentsTables" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables">
        <link:definition>2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestmentsDetails" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails">
        <link:definition>2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails">
        <link:definition>2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails">
        <link:definition>2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails">
        <link:definition>2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails">
        <link:definition>2414407 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventories" roleURI="http://www.cognex.com/role/Inventories">
        <link:definition>2115105 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesTables" roleURI="http://www.cognex.com/role/InventoriesTables">
        <link:definition>2316303 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesScheduleofInventoriesDetails" roleURI="http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails">
        <link:definition>2417408 - Disclosure - Inventories - Schedule of Inventories (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.cognex.com/role/Leases">
        <link:definition>2118106 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.cognex.com/role/LeasesTables">
        <link:definition>2319304 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.cognex.com/role/LeasesNarrativeDetails">
        <link:definition>2420409 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails">
        <link:definition>2421410 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Goodwill" roleURI="http://www.cognex.com/role/Goodwill">
        <link:definition>2122107 - Disclosure - Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillTables" roleURI="http://www.cognex.com/role/GoodwillTables">
        <link:definition>2323305 - Disclosure - Goodwill (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillDetails" roleURI="http://www.cognex.com/role/GoodwillDetails">
        <link:definition>2424411 - Disclosure - Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssets" roleURI="http://www.cognex.com/role/IntangibleAssets">
        <link:definition>2125108 - Disclosure - Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsTables" roleURI="http://www.cognex.com/role/IntangibleAssetsTables">
        <link:definition>2326306 - Disclosure - Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsDetails" roleURI="http://www.cognex.com/role/IntangibleAssetsDetails">
        <link:definition>2427412 - Disclosure - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsDetails_1" roleURI="http://www.cognex.com/role/IntangibleAssetsDetails_1">
        <link:definition>2427412 - Disclosure - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyObligations" roleURI="http://www.cognex.com/role/WarrantyObligations">
        <link:definition>2128109 - Disclosure - Warranty Obligations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyObligationsTables" roleURI="http://www.cognex.com/role/WarrantyObligationsTables">
        <link:definition>2329307 - Disclosure - Warranty Obligations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyObligationsChangesinWarrantyObligationsDetail" roleURI="http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail">
        <link:definition>2430413 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingencies" roleURI="http://www.cognex.com/role/CommitmentandContingencies">
        <link:definition>2131110 - Disclosure - Commitment and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentandContingenciesDetails" roleURI="http://www.cognex.com/role/CommitmentandContingenciesDetails">
        <link:definition>2432414 - Disclosure - Commitment and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstruments" roleURI="http://www.cognex.com/role/DerivativeInstruments">
        <link:definition>2133111 - Disclosure - Derivative Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsTables" roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables">
        <link:definition>2334308 - Disclosure - Derivative Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsDetails" roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetails">
        <link:definition>2435415 - Disclosure - Derivative Instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsOutstandingForwardContractsTableDetails" roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails">
        <link:definition>2436416 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails">
        <link:definition>2437417 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsOffsettingAssetsDetails" roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails">
        <link:definition>2438418 - Disclosure - Derivative Instruments - Offsetting Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails">
        <link:definition>2439419 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognition" roleURI="http://www.cognex.com/role/RevenueRecognition">
        <link:definition>2140112 - Disclosure - Revenue Recognition</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionTables" roleURI="http://www.cognex.com/role/RevenueRecognitionTables">
        <link:definition>2341309 - Disclosure - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails">
        <link:definition>2442420 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails">
        <link:definition>2443421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionAdditionalInformationDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails">
        <link:definition>2444422 - Disclosure - Revenue Recognition - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionScheduleofAllowanceforCreditLossDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails">
        <link:definition>2445423 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueRecognitionDeferredRevenueActivityDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails">
        <link:definition>2446424 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpense" roleURI="http://www.cognex.com/role/StockBasedCompensationExpense">
        <link:definition>2147113 - Disclosure - Stock-Based Compensation Expense</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseTables" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables">
        <link:definition>2348310 - Disclosure - Stock-Based Compensation Expense (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetails">
        <link:definition>2449425 - Disclosure - Stock-Based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails">
        <link:definition>2450426 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails">
        <link:definition>2451427 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails">
        <link:definition>2452428 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails">
        <link:definition>2453429 - Disclosure - Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails">
        <link:definition>2454430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockRepurchaseProgram" roleURI="http://www.cognex.com/role/StockRepurchaseProgram">
        <link:definition>2155114 - Disclosure - Stock Repurchase Program</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockRepurchaseProgramDetails" roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetails">
        <link:definition>2456431 - Disclosure - Stock Repurchase Program (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.cognex.com/role/IncomeTaxes">
        <link:definition>2157115 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDetails" roleURI="http://www.cognex.com/role/IncomeTaxesDetails">
        <link:definition>2458432 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageShares" roleURI="http://www.cognex.com/role/WeightedAverageShares">
        <link:definition>2159116 - Disclosure - Weighted-Average Shares</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesTables" roleURI="http://www.cognex.com/role/WeightedAverageSharesTables">
        <link:definition>2360311 - Disclosure - Weighted-Average Shares (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesCalculationofWeightedAverageSharesDetails" roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails">
        <link:definition>2461433 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesDetails" roleURI="http://www.cognex.com/role/WeightedAverageSharesDetails">
        <link:definition>2462434 - Disclosure - Weighted-Average Shares (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LossfromFire" roleURI="http://www.cognex.com/role/LossfromFire">
        <link:definition>2163117 - Disclosure - Loss from Fire</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LossfromFireDetails" roleURI="http://www.cognex.com/role/LossfromFireDetails">
        <link:definition>2464435 - Disclosure - Loss from Fire (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEvents" roleURI="http://www.cognex.com/role/SubsequentEvents">
        <link:definition>2165118 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEventsDetails" roleURI="http://www.cognex.com/role/SubsequentEventsDetails">
        <link:definition>2466436 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" abstract="false" name="AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_SouthboroughMassachusettsMember" abstract="true" name="SouthboroughMassachusettsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_TaxyearsopentoexaminationbyInternalRevenueService" abstract="false" name="TaxyearsopentoexaminationbyInternalRevenueService" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" abstract="false" name="IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" abstract="false" name="EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_OutstandingForwardContractsTableTextBlock" abstract="false" name="OutstandingForwardContractsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" abstract="false" name="SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" abstract="true" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cgnx_StandardProductsandServicesMember" abstract="true" name="StandardProductsandServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_CurrencytranslationadjustmentsAbstract" abstract="true" name="CurrencytranslationadjustmentsAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" abstract="false" name="ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" abstract="false" name="AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" abstract="false" name="EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="cgnx_SellingGeneralAndAdministrativeMember" abstract="true" name="SellingGeneralAndAdministrativeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_NumberOfGroupsWithinEmployeePopulation" abstract="false" name="NumberOfGroupsWithinEmployeePopulation" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_RepurchaseProgramMarch2020Member" abstract="true" name="RepurchaseProgramMarch2020Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_ExcessAndObsoleteInventoryCharges" abstract="false" name="ExcessAndObsoleteInventoryCharges" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" abstract="false" name="AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" abstract="false" name="AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" abstract="false" name="LesseeOperatingLeaseOptionToRenewTermOfContract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="cgnx_GrossLossFromCatastrophes" abstract="false" name="GrossLossFromCatastrophes" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" abstract="false" name="EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_ApplicationSpecificCustomerSolutionsMember" abstract="true" name="ApplicationSpecificCustomerSolutionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_CustomerContractsAndRelationshipsMember" abstract="true" name="CustomerContractsAndRelationshipsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" abstract="false" name="AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_CatastropheAbstract" abstract="true" name="CatastropheAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" abstract="false" name="DeferredRevenueForeignCurrencyExchangeAdjustment" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" abstract="true" name="DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_ExpirationPeriodOfStockOptionPlan" abstract="false" name="ExpirationPeriodOfStockOptionPlan" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" abstract="false" name="EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" abstract="false" name="EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" abstract="false" name="IncomeTaxExaminationYearsUnderExaminationOtherEntities" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cgnx_AsiaExcludingChinaMember" abstract="true" name="AsiaExcludingChinaMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_GeneralStockOptionPlanMember" abstract="true" name="GeneralStockOptionPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_AccruedExpensesMember" abstract="true" name="AccruedExpensesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" abstract="false" name="EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cgnx_RepurchaseProgramMarch2022Member" abstract="true" name="RepurchaseProgramMarch2022Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" abstract="false" name="EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cgnx_NonCashLossFromCatastrophes" abstract="false" name="NonCashLossFromCatastrophes" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" abstract="false" name="CashCashEquivalentsShortTermAndLongTermInvestments" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cgnx_AgencyBondsMember" abstract="true" name="AgencyBondsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_LossFromCatastropheTextBlock" abstract="false" name="LossFromCatastropheTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cgnx_LongTermInvestmentsMember" abstract="true" name="LongTermInvestmentsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cgnx_LiabilityForUncertainTaxPositions" abstract="false" name="LiabilityForUncertainTaxPositions" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>cgnx-20220703_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:99bc1a8f-2526-451f-973a-aa9140899242,g:fd3f35d6-c9ff-45b5-af84-3b0a27fd2c28-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e5249635-a4c9-47c2-82c9-1257b05cbfb7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_7ff583b7-96d3-4a6d-ac86-0e5d8f2bf3b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e5249635-a4c9-47c2-82c9-1257b05cbfb7" xlink:to="loc_us-gaap_OperatingIncomeLoss_7ff583b7-96d3-4a6d-ac86-0e5d8f2bf3b9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_d8bf563e-b9a4-438d-bfa4-76523bf0d39b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e5249635-a4c9-47c2-82c9-1257b05cbfb7" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_d8bf563e-b9a4-438d-bfa4-76523bf0d39b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_fbddd0e4-9a35-429e-bfbb-d0f2c1938d53" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e5249635-a4c9-47c2-82c9-1257b05cbfb7" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_fbddd0e4-9a35-429e-bfbb-d0f2c1938d53" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_b140129d-85f2-400d-81e8-1a22225492b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e5249635-a4c9-47c2-82c9-1257b05cbfb7" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_b140129d-85f2-400d-81e8-1a22225492b3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_a812d5ed-3b92-42ca-a035-e8959d67a462" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossFromCatastrophes_bddfbb61-98bd-40af-834e-d73391150e4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossFromCatastrophes"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_a812d5ed-3b92-42ca-a035-e8959d67a462" xlink:to="loc_us-gaap_LossFromCatastrophes_bddfbb61-98bd-40af-834e-d73391150e4a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_b70b82a2-3aa0-4037-8bee-3e4acd1558ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_a812d5ed-3b92-42ca-a035-e8959d67a462" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_b70b82a2-3aa0-4037-8bee-3e4acd1558ef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_cfcffcde-0f36-49e2-8ff4-03e92ee01b03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_a812d5ed-3b92-42ca-a035-e8959d67a462" xlink:to="loc_us-gaap_GrossProfit_cfcffcde-0f36-49e2-8ff4-03e92ee01b03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_a595c1db-ee15-400f-9c15-14e2fd14cf37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_a812d5ed-3b92-42ca-a035-e8959d67a462" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_a595c1db-ee15-400f-9c15-14e2fd14cf37" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e718f81a-6653-48e4-9dd9-9e8a03aa127d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e33200d5-456e-473d-a72e-5829e36efc07" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_e718f81a-6653-48e4-9dd9-9e8a03aa127d" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e33200d5-456e-473d-a72e-5829e36efc07" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_f8d7b50a-d534-4d3f-97c5-8232258f48b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_e718f81a-6653-48e4-9dd9-9e8a03aa127d" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_f8d7b50a-d534-4d3f-97c5-8232258f48b5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_ecaee303-5e6c-4793-aad6-0a130fb4a763" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_f122feea-3f82-4493-8b57-b850d2ee79b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_ecaee303-5e6c-4793-aad6-0a130fb4a763" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_f122feea-3f82-4493-8b57-b850d2ee79b6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_0ee06e83-f77b-4348-8594-4ced6e97362f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_ecaee303-5e6c-4793-aad6-0a130fb4a763" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_0ee06e83-f77b-4348-8594-4ced6e97362f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofComprehensiveIncome"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_d8af3200-25f1-4b2d-88c4-6d2d80226a96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_9ea365b4-bb4b-4e3c-9ab9-d947259a8744" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_d8af3200-25f1-4b2d-88c4-6d2d80226a96" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_9ea365b4-bb4b-4e3c-9ab9-d947259a8744" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_95e428eb-64ab-45ca-a725-2f2708d5e012" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_d8af3200-25f1-4b2d-88c4-6d2d80226a96" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_95e428eb-64ab-45ca-a725-2f2708d5e012" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ffede580-3e8f-4292-9066-41c5490d17ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_91466cd2-a24d-4a3f-8914-f973512f2aff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ffede580-3e8f-4292-9066-41c5490d17ad" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_91466cd2-a24d-4a3f-8914-f973512f2aff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_a3678670-d06e-43ef-8474-5bba75e5e992" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_ffede580-3e8f-4292-9066-41c5490d17ad" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_a3678670-d06e-43ef-8474-5bba75e5e992" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_40bdb91a-81d0-4f35-9bfd-4f1f319a7083" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_e42e4269-c2c8-4403-996d-4bb70f956297" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_40bdb91a-81d0-4f35-9bfd-4f1f319a7083" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_e42e4269-c2c8-4403-996d-4bb70f956297" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_72c234b6-18b5-4636-abda-fe8c4de38495" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_ad2a3d6a-efa8-46fc-a0f1-20ecd78c3fff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_72c234b6-18b5-4636-abda-fe8c4de38495" xlink:to="loc_us-gaap_NetIncomeLoss_ad2a3d6a-efa8-46fc-a0f1-20ecd78c3fff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_8e8a3a2e-7d82-4c5b-a17a-f94d85ff815f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_72c234b6-18b5-4636-abda-fe8c4de38495" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_8e8a3a2e-7d82-4c5b-a17a-f94d85ff815f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_ba240d6e-4b82-4fe6-8fc1-9a4c4de792e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_fd921ff5-8b18-44bd-a666-c10c4cd0787d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_ba240d6e-4b82-4fe6-8fc1-9a4c4de792e5" xlink:to="loc_us-gaap_AccountsPayableCurrent_fd921ff5-8b18-44bd-a666-c10c4cd0787d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_eb7301c0-8558-4ac9-b444-7c0bccc4cb4e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_ba240d6e-4b82-4fe6-8fc1-9a4c4de792e5" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_eb7301c0-8558-4ac9-b444-7c0bccc4cb4e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_cded88a5-867b-4d94-afae-121169a52f0b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_ba240d6e-4b82-4fe6-8fc1-9a4c4de792e5" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_cded88a5-867b-4d94-afae-121169a52f0b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_591b2773-3dd5-4e73-aba4-271f2eea6328" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_ba240d6e-4b82-4fe6-8fc1-9a4c4de792e5" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_591b2773-3dd5-4e73-aba4-271f2eea6328" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_c10ce309-1577-4269-88ac-99aab4799376" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_ba240d6e-4b82-4fe6-8fc1-9a4c4de792e5" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_c10ce309-1577-4269-88ac-99aab4799376" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_1868d023-99fc-4706-ae17-ed7093f90c82" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_AssetsCurrent_1868d023-99fc-4706-ae17-ed7093f90c82" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermInvestments_1b512149-7c1f-4987-b851-e97604c1b4fb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermInvestments"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_LongTermInvestments_1b512149-7c1f-4987-b851-e97604c1b4fb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_f657c0d5-3f96-4377-bdac-e2ff195dcd42" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_f657c0d5-3f96-4377-bdac-e2ff195dcd42" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_03ea8586-7c38-47c8-9907-e1f7f409cde5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_03ea8586-7c38-47c8-9907-e1f7f409cde5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_3939a4ba-e962-48f2-9990-d4ea781603a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_Goodwill_3939a4ba-e962-48f2-9990-d4ea781603a7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_48ddef1e-4477-42af-8789-9e643c4fcea3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_48ddef1e-4477-42af-8789-9e643c4fcea3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_0c811bcc-7b74-4471-b2b4-9790b3553bad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_0c811bcc-7b74-4471-b2b4-9790b3553bad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_c4e4d64d-e7cc-4851-9a6b-f1222d8a5041" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_73363d69-501e-44e7-b163-2c4e5d2099f5" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_c4e4d64d-e7cc-4851-9a6b-f1222d8a5041" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_94ced230-f631-4114-93ad-e96f977b5be3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_94ced230-f631-4114-93ad-e96f977b5be3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_4722ab94-79f0-43b8-b6df-8976a85eacbb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_4722ab94-79f0-43b8-b6df-8976a85eacbb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_dda4ffa2-ab59-4ef0-a4a2-15644d6f170c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_dda4ffa2-ab59-4ef0-a4a2-15644d6f170c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_1257e3a9-be64-4fad-8762-4b955b8f9487" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_1257e3a9-be64-4fad-8762-4b955b8f9487" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_03e785d1-549e-4415-ba49-bad9dd679872" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:to="loc_us-gaap_InventoryNet_03e785d1-549e-4415-ba49-bad9dd679872" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_704e32de-fda8-4d7a-811f-f23f942c8f7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_23eae114-ec9f-4337-9e1d-e3f8bcc8505d" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_704e32de-fda8-4d7a-811f-f23f942c8f7a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_dc806869-058c-466b-b68a-ad42aa700a77" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_e1188abe-3419-48f0-9aea-27f93c234dc7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_dc806869-058c-466b-b68a-ad42aa700a77" xlink:to="loc_us-gaap_Liabilities_e1188abe-3419-48f0-9aea-27f93c234dc7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_bf8af8fe-efbb-4b0d-a2e5-42aff62a5a7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_dc806869-058c-466b-b68a-ad42aa700a77" xlink:to="loc_us-gaap_StockholdersEquity_bf8af8fe-efbb-4b0d-a2e5-42aff62a5a7e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_8c070449-8d44-433b-a372-190bd0c7c4a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_7ad1c931-ed64-40e7-b61f-25da6e449884" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_8c070449-8d44-433b-a372-190bd0c7c4a8" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_7ad1c931-ed64-40e7-b61f-25da6e449884" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_6233c17f-8f50-4213-a37c-c25fd51f237a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_8c070449-8d44-433b-a372-190bd0c7c4a8" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_6233c17f-8f50-4213-a37c-c25fd51f237a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_dfc41920-aeaf-4768-9558-9a3d1938150a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_8c070449-8d44-433b-a372-190bd0c7c4a8" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_dfc41920-aeaf-4768-9558-9a3d1938150a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValueOutstanding_835b9323-86d4-45ea-a4a0-3949a907736f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValueOutstanding"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_8c070449-8d44-433b-a372-190bd0c7c4a8" xlink:to="loc_us-gaap_PreferredStockValueOutstanding_835b9323-86d4-45ea-a4a0-3949a907736f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValueOutstanding_d46afd1d-fca5-487b-8e28-ee57af032169" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValueOutstanding"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_8c070449-8d44-433b-a372-190bd0c7c4a8" xlink:to="loc_us-gaap_CommonStockValueOutstanding_d46afd1d-fca5-487b-8e28-ee57af032169" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_d6590421-9fa0-4afd-9ce1-fe27d85f2499" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:to="loc_us-gaap_LiabilitiesCurrent_d6590421-9fa0-4afd-9ce1-fe27d85f2499" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_f2f0df05-7a81-4935-89f0-f4325f0ed476" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_f2f0df05-7a81-4935-89f0-f4325f0ed476" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_57f4b513-1103-4c90-911a-66ce6a83bc13" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_57f4b513-1103-4c90-911a-66ce6a83bc13" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_8e9989e4-b97c-4ce6-a4dc-5f1a5e0ca33e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_8e9989e4-b97c-4ce6-a4dc-5f1a5e0ca33e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxes_5291d47e-a975-4edf-b2f4-550b02610c7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxes"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:to="loc_us-gaap_AccruedIncomeTaxes_5291d47e-a975-4edf-b2f4-550b02610c7f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_9179e3be-09d9-45b3-ab6b-8886e899f526" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_e871cf1a-3381-47e6-ac16-b578bb102b10" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_9179e3be-09d9-45b3-ab6b-8886e899f526" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnDispositionOfAssets1_c4a74264-4f44-461d-b8a8-812611740445" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_GainLossOnDispositionOfAssets1_c4a74264-4f44-461d-b8a8-812611740445" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_e64a7d5a-157a-4247-8481-6f8b73cf8143" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_e64a7d5a-157a-4247-8481-6f8b73cf8143" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_07739e97-39b1-4192-8b8e-ab429fef2bd1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_07739e97-39b1-4192-8b8e-ab429fef2bd1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_38966366-2356-475c-992e-fe37f79e3329" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_38966366-2356-475c-992e-fe37f79e3329" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_84099316-bf36-41e6-ba64-00572437f7dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_84099316-bf36-41e6-ba64-00572437f7dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_bd1a197f-11e1-43b7-8c57-d5ead8cb6997" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_NetIncomeLoss_bd1a197f-11e1-43b7-8c57-d5ead8cb6997" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_88db3070-e725-401b-a554-c33acf14a169" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_88db3070-e725-401b-a554-c33acf14a169" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_f8667a7f-19c5-42cd-8699-823f67a7aed2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_f8667a7f-19c5-42cd-8699-823f67a7aed2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ExcessAndObsoleteInventoryCharges_58581332-f685-4533-a2b3-fa156559d5e8" xlink:href="cgnx-20220703.xsd#cgnx_ExcessAndObsoleteInventoryCharges"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_cgnx_ExcessAndObsoleteInventoryCharges_58581332-f685-4533-a2b3-fa156559d5e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_2a626f17-daad-4330-aac0-4ebf30e312f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_2a626f17-daad-4330-aac0-4ebf30e312f9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_6cafd08a-dde8-476c-9f03-7c335cf49669" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_6cafd08a-dde8-476c-9f03-7c335cf49669" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionPlanExpense_151de596-5910-4c7e-b83f-a8c957969e57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_StockOptionPlanExpense_151de596-5910-4c7e-b83f-a8c957969e57" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_d1475ebe-b9a4-4679-8b7d-140a7ed1847d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_d1475ebe-b9a4-4679-8b7d-140a7ed1847d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_c3931f34-7678-4f2b-acb0-8b4096698247" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfInvestments"/>
    <link:calculationArc order="14" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_c3931f34-7678-4f2b-acb0-8b4096698247" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_99e91cd9-51f5-46ab-8cf4-50c074fe0428" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="15" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_99e91cd9-51f5-46ab-8cf4-50c074fe0428" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_39172449-c0f0-4c36-976d-334ab863e03a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:calculationArc order="16" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_39172449-c0f0-4c36-976d-334ab863e03a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_8f5e16f9-26df-4d15-99ce-bcf32b41cf34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_Depreciation_8f5e16f9-26df-4d15-99ce-bcf32b41cf34" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_d4310651-52cc-4a39-9f58-607299be01c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <link:calculationArc order="18" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_d4310651-52cc-4a39-9f58-607299be01c3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_NonCashLossFromCatastrophes_53e356e8-d407-4a49-819c-f1a80d11adeb" xlink:href="cgnx-20220703.xsd#cgnx_NonCashLossFromCatastrophes"/>
    <link:calculationArc order="19" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a6140b6b-6c5d-4e35-a002-1764f3ad76b6" xlink:to="loc_cgnx_NonCashLossFromCatastrophes_53e356e8-d407-4a49-819c-f1a80d11adeb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_07f76fea-534d-450e-b5cb-7b1d7accab50" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8e83d8b6-aab1-4108-880b-d2426499c2ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_07f76fea-534d-450e-b5cb-7b1d7accab50" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_8e83d8b6-aab1-4108-880b-d2426499c2ef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_54f2fc09-dff1-489f-879a-2523b908860a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_07f76fea-534d-450e-b5cb-7b1d7accab50" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_54f2fc09-dff1-489f-879a-2523b908860a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d52cb1eb-df0f-4f41-884b-211770d00458" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_07f76fea-534d-450e-b5cb-7b1d7accab50" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d52cb1eb-df0f-4f41-884b-211770d00458" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f3252577-fea8-4d64-9de7-3ebd56c58ce6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_07f76fea-534d-450e-b5cb-7b1d7accab50" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f3252577-fea8-4d64-9de7-3ebd56c58ce6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_732cfbce-a7f8-41ab-a0ef-faef699a8827" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_268b2998-39d0-4d97-a143-e1a21773c409" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_732cfbce-a7f8-41ab-a0ef-faef699a8827" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_268b2998-39d0-4d97-a143-e1a21773c409" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_61890637-8f48-4964-8a76-ed43e53e9815" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_732cfbce-a7f8-41ab-a0ef-faef699a8827" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_61890637-8f48-4964-8a76-ed43e53e9815" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_21749403-f79f-444d-b999-c3d9ec1b3271" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_732cfbce-a7f8-41ab-a0ef-faef699a8827" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_21749403-f79f-444d-b999-c3d9ec1b3271" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_270d0eaf-62b7-4bcf-b361-f4d38a10dbd4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_890dc0fb-e64f-4974-b67d-8ab56202966e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_270d0eaf-62b7-4bcf-b361-f4d38a10dbd4" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_890dc0fb-e64f-4974-b67d-8ab56202966e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_4adc7d88-4d0f-4513-a49e-cb50c609e671" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_270d0eaf-62b7-4bcf-b361-f4d38a10dbd4" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_4adc7d88-4d0f-4513-a49e-cb50c609e671" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_b0445bab-0599-4de4-a81a-79ef432915b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_270d0eaf-62b7-4bcf-b361-f4d38a10dbd4" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_b0445bab-0599-4de4-a81a-79ef432915b9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_81217b84-8a7b-4225-950f-8a4b2a12570e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue_24d09f97-7b5f-49f1-a44b-1106d36f2bd0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_81217b84-8a7b-4225-950f-8a4b2a12570e" xlink:to="loc_us-gaap_CashEquivalentsAtCarryingValue_24d09f97-7b5f-49f1-a44b-1106d36f2bd0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_b0d6b360-bb0e-4840-96ae-e12eb47e4c5a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_81217b84-8a7b-4225-950f-8a4b2a12570e" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_b0d6b360-bb0e-4840-96ae-e12eb47e4c5a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_b5bf2f61-1c01-48da-8d79-5f5c678d3a85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_81217b84-8a7b-4225-950f-8a4b2a12570e" xlink:to="loc_us-gaap_Cash_b5bf2f61-1c01-48da-8d79-5f5c678d3a85" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_954e1a1c-ce4c-411a-93f6-c2b0908a5384" xlink:href="cgnx-20220703.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_28025c95-d606-4106-af4b-f974b9e84439" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_954e1a1c-ce4c-411a-93f6-c2b0908a5384" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_28025c95-d606-4106-af4b-f974b9e84439" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_92ac4e83-bda2-42a0-9624-613f231a2221" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_954e1a1c-ce4c-411a-93f6-c2b0908a5384" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_92ac4e83-bda2-42a0-9624-613f231a2221" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermInvestments_bcb735c9-ee1f-4a56-846a-2b06dce320c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermInvestments"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_954e1a1c-ce4c-411a-93f6-c2b0908a5384" xlink:to="loc_us-gaap_LongTermInvestments_bcb735c9-ee1f-4a56-846a-2b06dce320c2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cba83f46-bcc0-4c09-b9c0-7d92687e1d33" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_8a1d1df5-f474-44ac-a6fb-3d1abb3f1a83" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cba83f46-bcc0-4c09-b9c0-7d92687e1d33" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_8a1d1df5-f474-44ac-a6fb-3d1abb3f1a83" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_38d8e3f4-1556-4904-be42-0f424005fbd5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cba83f46-bcc0-4c09-b9c0-7d92687e1d33" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_38d8e3f4-1556-4904-be42-0f424005fbd5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_66dacd45-6bb4-4686-8985-76af259a82a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_cba83f46-bcc0-4c09-b9c0-7d92687e1d33" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_66dacd45-6bb4-4686-8985-76af259a82a3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a5260876-5bcd-44c8-929b-70fc49aba391" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_970f5ee4-da3e-4cb7-a5d1-5114a9b1b970" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a5260876-5bcd-44c8-929b-70fc49aba391" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_970f5ee4-da3e-4cb7-a5d1-5114a9b1b970" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_03b956d6-e18f-4256-bbe7-a3427c229687" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a5260876-5bcd-44c8-929b-70fc49aba391" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_03b956d6-e18f-4256-bbe7-a3427c229687" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_443d9ed3-2195-4c62-bfd1-092daf062203" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_410150f5-4959-4290-9f65-819f9f66a24f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_443d9ed3-2195-4c62-bfd1-092daf062203" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_410150f5-4959-4290-9f65-819f9f66a24f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_61d95f0c-6955-4506-9e44-327ae12fd168" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_443d9ed3-2195-4c62-bfd1-092daf062203" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_61d95f0c-6955-4506-9e44-327ae12fd168" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9698cb1f-663f-4ffa-9be7-8debb2ef5aca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_c08335e2-60d2-4134-83dc-50f61167478a" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9698cb1f-663f-4ffa-9be7-8debb2ef5aca" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_c08335e2-60d2-4134-83dc-50f61167478a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_f4d3edcf-9f39-42c7-97f6-801341ebb2a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9698cb1f-663f-4ffa-9be7-8debb2ef5aca" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_f4d3edcf-9f39-42c7-97f6-801341ebb2a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_4b2136b7-e532-40df-96d0-b3f84788b826" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9698cb1f-663f-4ffa-9be7-8debb2ef5aca" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_4b2136b7-e532-40df-96d0-b3f84788b826" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_b8393efb-412e-4287-ae03-5b39d5209701" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9698cb1f-663f-4ffa-9be7-8debb2ef5aca" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_b8393efb-412e-4287-ae03-5b39d5209701" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_d38d218c-8f26-4963-8274-98318c352a94" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9698cb1f-663f-4ffa-9be7-8debb2ef5aca" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_d38d218c-8f26-4963-8274-98318c352a94" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#InventoriesScheduleofInventoriesDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_4e9bcf01-7276-4ef8-a77b-d1ff87981b40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_07767636-7760-4f27-947f-4e5a926da2ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_4e9bcf01-7276-4ef8-a77b-d1ff87981b40" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_07767636-7760-4f27-947f-4e5a926da2ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_ad8a9e9f-12ca-4311-9c00-e19c24240697" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_4e9bcf01-7276-4ef8-a77b-d1ff87981b40" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_ad8a9e9f-12ca-4311-9c00-e19c24240697" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_a06a77e9-03ee-4d59-b956-24312d05755d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_4e9bcf01-7276-4ef8-a77b-d1ff87981b40" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_a06a77e9-03ee-4d59-b956-24312d05755d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_d6b54e3e-1e87-4fd0-9bbd-cbfb6d24639a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_d6b54e3e-1e87-4fd0-9bbd-cbfb6d24639a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_f0efc916-e917-484d-9351-5bc50d8eaca2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_f0efc916-e917-484d-9351-5bc50d8eaca2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_27a6ca75-6e66-4010-aa26-6d62b7b01faf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_27a6ca75-6e66-4010-aa26-6d62b7b01faf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_8b2845ed-2656-44fb-aeb1-78519f43f79e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_8b2845ed-2656-44fb-aeb1-78519f43f79e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_f65b2c42-2d25-4a3d-89ad-dcf1d5f0293e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_f65b2c42-2d25-4a3d-89ad-dcf1d5f0293e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_8c15481e-5ecc-4767-bc9e-f95897fc97d6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_8c15481e-5ecc-4767-bc9e-f95897fc97d6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_11be912e-8546-45ac-a471-064eaab35e5f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_514f7566-9e95-49c2-9f7d-47398a47c06a" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_11be912e-8546-45ac-a471-064eaab35e5f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_9951c9ca-6307-48f3-9ed1-da1a30f61bed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_9951c9ca-6307-48f3-9ed1-da1a30f61bed" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_45f0160e-5cc4-436e-893a-44d3cab1def9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_45f0160e-5cc4-436e-893a-44d3cab1def9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2e6e74b3-ef79-47f3-919d-e57762804d88" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_2e6e74b3-ef79-47f3-919d-e57762804d88" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_54d05977-537a-4068-a02f-812316d72396" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_54d05977-537a-4068-a02f-812316d72396" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_c41e50a9-3c1b-4a8f-b0d1-30a60410f9a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_c41e50a9-3c1b-4a8f-b0d1-30a60410f9a0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_1d40f484-50f3-4cf5-8de8-e18d9d364793" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c213dc0b-4f8e-4d37-bfc2-5268239dfbcf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_1d40f484-50f3-4cf5-8de8-e18d9d364793" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails_1" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssetsDetails_1"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3f1786fc-b98d-436b-a2af-b957af922add" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_d25a87ae-c863-440c-8625-a710eb8d2ef9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3f1786fc-b98d-436b-a2af-b957af922add" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_d25a87ae-c863-440c-8625-a710eb8d2ef9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_694b068b-20f9-43f9-b74a-ef4f34cf38b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3f1786fc-b98d-436b-a2af-b957af922add" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_694b068b-20f9-43f9-b74a-ef4f34cf38b6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsOffsettingAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_f68c3b58-9b94-4e11-9651-e73dd4db00b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_41433228-1b7f-403c-b04e-4cdd54a1c63d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_f68c3b58-9b94-4e11-9651-e73dd4db00b7" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_41433228-1b7f-403c-b04e-4cdd54a1c63d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84c82726-cdd6-45a1-83b8-850fd5924df3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_f68c3b58-9b94-4e11-9651-e73dd4db00b7" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_84c82726-cdd6-45a1-83b8-850fd5924df3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_ad8824b4-2ec8-4e37-bf71-24f25edc785d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_93b104d7-c89f-41df-9f87-46ff168c3366" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_ad8824b4-2ec8-4e37-bf71-24f25edc785d" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_93b104d7-c89f-41df-9f87-46ff168c3366" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_12f1d466-1e01-465e-bc6e-1f69d5c41370" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_ad8824b4-2ec8-4e37-bf71-24f25edc785d" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_12f1d466-1e01-465e-bc6e-1f69d5c41370" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WeightedAverageSharesCalculationofWeightedAverageSharesDetails"/>
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_92abe280-93d6-4af4-a77a-9cec409cf5db" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_c1a6bd4b-2212-4b92-8259-d5e5a4b4c3ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_92abe280-93d6-4af4-a77a-9cec409cf5db" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_c1a6bd4b-2212-4b92-8259-d5e5a4b4c3ab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2d6d6e22-04d6-4d49-85f2-4b9537832a04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_92abe280-93d6-4af4-a77a-9cec409cf5db" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_2d6d6e22-04d6-4d49-85f2-4b9537832a04" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>cgnx-20220703_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:99bc1a8f-2526-451f-973a-aa9140899242,g:fd3f35d6-c9ff-45b5-af84-3b0a27fd2c28-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementofShareholdersEquity"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" xlink:type="extended" id="i06bd0ff7ec7f447d93be090ba61d1881_ConsolidatedStatementofShareholdersEquity">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_98ed7297-4946-4665-a7b2-80b8d424dcf6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_98ed7297-4946-4665-a7b2-80b8d424dcf6" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d41b8cf1-7f6c-477c-a9aa-f1b41534aa1d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockholdersEquity_d41b8cf1-7f6c-477c-a9aa-f1b41534aa1d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_9a2de6d2-d36f-46cb-8085-79506259e068" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_CommonStockSharesIssued_9a2de6d2-d36f-46cb-8085-79506259e068" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_6174cbe8-1fcd-44ac-8d4d-092ced0044f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_6174cbe8-1fcd-44ac-8d4d-092ced0044f9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_1a91f86e-b879-4564-8860-00ddf69eb19f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_1a91f86e-b879-4564-8860-00ddf69eb19f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_cf87d37f-b554-4745-ba91-f609c5d33775" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_cf87d37f-b554-4745-ba91-f609c5d33775" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_f76a1e20-d816-48a5-8219-90ca0367d064" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_f76a1e20-d816-48a5-8219-90ca0367d064" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef0f1b01-fd28-4641-8e2b-878c3e287e7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef0f1b01-fd28-4641-8e2b-878c3e287e7f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DividendsCash_f2fbe7fc-6ee2-407f-bcf6-090a70acbaea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCash"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_DividendsCash_f2fbe7fc-6ee2-407f-bcf6-090a70acbaea" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_91a2b645-4c40-4118-94e1-0f3306079eff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_NetIncomeLoss_91a2b645-4c40-4118-94e1-0f3306079eff" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_f73e64b1-bbfa-480f-857e-1b502662b846" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_f73e64b1-bbfa-480f-857e-1b502662b846" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_df20921b-374e-42f0-8927-272d61cc33f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_df20921b-374e-42f0-8927-272d61cc33f0" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_099e190a-5bbb-43a9-a2ce-30e8bb037b81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_099e190a-5bbb-43a9-a2ce-30e8bb037b81" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7ddd8abb-f0a8-4cf9-a890-7fc06bf3cb72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_e8f2cc40-5ee3-40fe-b594-2ba82523a728" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_98ed7297-4946-4665-a7b2-80b8d424dcf6" xlink:to="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_6d4c011c-ad7d-46b5-a4f9-13faede05515_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:to="loc_us-gaap_EquityComponentDomain_6d4c011c-ad7d-46b5-a4f9-13faede05515_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:to="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_e0198262-2d9b-45e0-b6c2-e05f083335b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_CommonStockMember_e0198262-2d9b-45e0-b6c2-e05f083335b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_c44ef6b6-713b-4f2a-8876-bd4e147b6788" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_c44ef6b6-713b-4f2a-8876-bd4e147b6788" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_e2b522a3-624b-4de6-a6f8-466b1967b803" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_RetainedEarningsMember_e2b522a3-624b-4de6-a6f8-466b1967b803" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3f272436-d3ca-47f9-8ad6-3faecbf6ca1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3f272436-d3ca-47f9-8ad6-3faecbf6ca1b" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" xlink:type="extended" id="ib9f31006be2a41aba587ccc1bd5dad15_FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosureAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_548d7088-24e2-4eb9-aa62-ac235e57a24d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_548d7088-24e2-4eb9-aa62-ac235e57a24d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5768594b-4988-4a49-b531-1e85eab23d33" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5768594b-4988-4a49-b531-1e85eab23d33" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_4891c395-b5e7-479b-b299-afe4de7abdb4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_4891c395-b5e7-479b-b299-afe4de7abdb4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_9b2991f3-5122-41d6-8f54-4384cb67fdf1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_9b2991f3-5122-41d6-8f54-4384cb67fdf1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_a3d85789-b9fc-4d23-a7d0-5f3857537579" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_9b2991f3-5122-41d6-8f54-4384cb67fdf1" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_a3d85789-b9fc-4d23-a7d0-5f3857537579" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_231536e9-b067-41fa-93d9-e3dfabe98f4b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_231536e9-b067-41fa-93d9-e3dfabe98f4b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_928a76ba-4e00-472e-a2e0-6eece4ac5b90" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_928a76ba-4e00-472e-a2e0-6eece4ac5b90" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_00e09d73-4646-4df5-9f63-b349ae6713ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_00e09d73-4646-4df5-9f63-b349ae6713ae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_0306e24b-9b15-45cc-9dd0-d8653d02a1f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_0306e24b-9b15-45cc-9dd0-d8653d02a1f0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_aee7da4c-939b-41b9-b92f-329d4455801d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_aee7da4c-939b-41b9-b92f-329d4455801d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_140bdfb4-e4ff-4a03-b321-f5278718b7ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_140bdfb4-e4ff-4a03-b321-f5278718b7ba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4f8a4441-ca83-4850-b6d0-4ce9fadc4ef0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_140bdfb4-e4ff-4a03-b321-f5278718b7ba" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4f8a4441-ca83-4850-b6d0-4ce9fadc4ef0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_31afddb7-20b1-43f6-9ccc-924fdafe594a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_31afddb7-20b1-43f6-9ccc-924fdafe594a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_43af1c1d-a1b6-419c-abaf-fae3eb4bafcb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_43af1c1d-a1b6-419c-abaf-fae3eb4bafcb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_352cdb06-8a13-4803-a485-1b8d76226b8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_352cdb06-8a13-4803-a485-1b8d76226b8e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_e6f301b6-4965-45d0-a797-dd8d61dc13c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_e6f301b6-4965-45d0-a797-dd8d61dc13c6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_2ce86921-264c-4837-862a-aa2bff02ff48" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_cgnx_AgencyBondsMember_2ce86921-264c-4837-862a-aa2bff02ff48" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_106470d6-18f2-451c-9afd-b8309276aaea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_106470d6-18f2-451c-9afd-b8309276aaea" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_0085e0da-d044-42dc-821d-1a226cd6ed81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_MunicipalBondsMember_0085e0da-d044-42dc-821d-1a226cd6ed81" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" xlink:type="extended" id="i821b6c6ac340467da759b544044d4b82_CashCashEquivalentsandInvestmentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestReceivable_4708ac69-d0fc-442f-abec-4a2f558587e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_InterestReceivable_4708ac69-d0fc-442f-abec-4a2f558587e9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_243b67a2-de45-451f-9270-6f81210b324e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_243b67a2-de45-451f-9270-6f81210b324e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease_174706a0-ebf2-4b12-a567-04199b96b344" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease_174706a0-ebf2-4b12-a567-04199b96b344" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_55eb49a0-6c77-4d3c-bf5b-024d8bb15691" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_55eb49a0-6c77-4d3c-bf5b-024d8bb15691" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_5020a7f6-3ad5-4e91-90d0-1b68f90bc868" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_5020a7f6-3ad5-4e91-90d0-1b68f90bc868" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_45bfd381-f423-41e2-836a-20e71bf5c42b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_45bfd381-f423-41e2-836a-20e71bf5c42b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_19fd0c1e-a951-40ec-a8d8-e6e65e0801c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_19fd0c1e-a951-40ec-a8d8-e6e65e0801c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember_34187ea3-6640-43fa-a905-fb10031aa3ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_19fd0c1e-a951-40ec-a8d8-e6e65e0801c3" xlink:to="loc_us-gaap_OtherCurrentAssetsMember_34187ea3-6640-43fa-a905-fb10031aa3ef" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" xlink:type="extended" id="i2b79241c30d24ef89a1b1f7397bcda63_CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_fb0eea20-21fe-41f7-9e83-53df5b5cb152" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_Cash_fb0eea20-21fe-41f7-9e83-53df5b5cb152" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue_572e7ea0-bd86-4ab1-92e0-cb69dd589688" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_CashEquivalentsAtCarryingValue_572e7ea0-bd86-4ab1-92e0-cb69dd589688" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_6efef603-417f-4c89-95f5-f2c98cdc498b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_6efef603-417f-4c89-95f5-f2c98cdc498b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9bbacff8-4a9e-491a-9581-794bf1b18c85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9bbacff8-4a9e-491a-9581-794bf1b18c85" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_66ddee2d-22c9-4c2a-856a-5394cf7fce79" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_66ddee2d-22c9-4c2a-856a-5394cf7fce79" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_5eaac74c-5a6e-40b8-9146-115ee56ce722" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_5eaac74c-5a6e-40b8-9146-115ee56ce722" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermInvestments_41d046ff-7786-46a9-a0d7-7a1a9f1bf41d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermInvestments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_LongTermInvestments_41d046ff-7786-46a9-a0d7-7a1a9f1bf41d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_a68e2e0e-17cf-4130-a595-865a9c44b526" xlink:href="cgnx-20220703.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_a68e2e0e-17cf-4130-a595-865a9c44b526" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:to="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_6aa29f00-0189-4103-b942-a71afe37fa3a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_6aa29f00-0189-4103-b942-a71afe37fa3a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_c136620e-4afb-47aa-bd9e-f99708c55327" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_c136620e-4afb-47aa-bd9e-f99708c55327" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_c02955c1-eb3f-40d2-a2bf-cd91d097607e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_c02955c1-eb3f-40d2-a2bf-cd91d097607e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_feb57fb3-79d3-4903-be55-aa9c3f1607f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_feb57fb3-79d3-4903-be55-aa9c3f1607f1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_64f292aa-76ce-45ec-8651-e1c8347b0108" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_cgnx_AgencyBondsMember_64f292aa-76ce-45ec-8651-e1c8347b0108" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_dd9342f6-ae55-430c-8b3d-0f5d1e041ef5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_MunicipalBondsMember_dd9342f6-ae55-430c-8b3d-0f5d1e041ef5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtMember_3c2e33d0-72a2-46df-b9b5-d57727f4bfab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_SovereignDebtMember_3c2e33d0-72a2-46df-b9b5-d57727f4bfab" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" xlink:type="extended" id="ica03995e60d1420e98cafa53175cf7ba_CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f8fac8b7-b924-4c05-bdf5-5be7c69ce7bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f8fac8b7-b924-4c05-bdf5-5be7c69ce7bc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_eb16f8da-71c4-4c35-9872-af3d2725333a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_eb16f8da-71c4-4c35-9872-af3d2725333a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6c6a8e1-d0c1-4934-bce0-631533423a25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6c6a8e1-d0c1-4934-bce0-631533423a25" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_1ab42077-31b9-44be-8351-fab2cb2860c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_1ab42077-31b9-44be-8351-fab2cb2860c2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1691cb08-b1e2-4ee7-bcfe-87471b3933aa_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1691cb08-b1e2-4ee7-bcfe-87471b3933aa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_434ba6ee-55fc-46e0-9e93-b0a99fe93432" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_434ba6ee-55fc-46e0-9e93-b0a99fe93432" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_fed80d74-5934-4db2-a536-e0eedc4dfbe3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_fed80d74-5934-4db2-a536-e0eedc4dfbe3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_c18744d5-5724-46fe-a67b-7a81c37303c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_c18744d5-5724-46fe-a67b-7a81c37303c5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_9ff4bdfb-e964-4fb5-8a9d-f8a15878c571" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_cgnx_AgencyBondsMember_9ff4bdfb-e964-4fb5-8a9d-f8a15878c571" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_f016bb79-f989-494a-af91-a21d78d5b5d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_f016bb79-f989-494a-af91-a21d78d5b5d1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_e1197213-3869-407a-aa14-fdd3089532b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_MunicipalBondsMember_e1197213-3869-407a-aa14-fdd3089532b3" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:to="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_8db14ef6-dd07-4920-aa48-d20b19d1557f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_8db14ef6-dd07-4920-aa48-d20b19d1557f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_c86f01d4-9b7a-442a-9793-0ab4024d82d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermInvestmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_c86f01d4-9b7a-442a-9793-0ab4024d82d8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LongTermInvestmentsMember_3c39cdd2-ada2-4584-a1b1-e5103f00e7cc" xlink:href="cgnx-20220703.xsd#cgnx_LongTermInvestmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:to="loc_cgnx_LongTermInvestmentsMember_3c39cdd2-ada2-4584-a1b1-e5103f00e7cc" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" xlink:type="extended" id="ib11a86fadf084d39a5f78f4329f842bf_CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_fe767f5f-de81-462e-8d4a-0ec7d0db1356" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_fe767f5f-de81-462e-8d4a-0ec7d0db1356" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_efdc5218-54ac-44e5-86c3-fa04251d0e72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_efdc5218-54ac-44e5-86c3-fa04251d0e72" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_1f4b8fed-c9a1-4451-972a-8f76e6f1396c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_1f4b8fed-c9a1-4451-972a-8f76e6f1396c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_ccb63f03-dbe7-45e6-b630-df9e981fe664" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_ccb63f03-dbe7-45e6-b630-df9e981fe664" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_74fd2058-86c9-4c29-8e5b-d41e7d0c647e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_74fd2058-86c9-4c29-8e5b-d41e7d0c647e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a0d89540-872b-4406-92e7-883124cb5c85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a0d89540-872b-4406-92e7-883124cb5c85" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:to="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_4cbcecfa-139b-4837-83bc-7e3f18abfb02_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_4cbcecfa-139b-4837-83bc-7e3f18abfb02_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_c6bfe59b-4ee3-489b-843e-e2c3dbff0a1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_c6bfe59b-4ee3-489b-843e-e2c3dbff0a1e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_27b93e45-7855-4dd0-b082-ef7b34c2c94a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_27b93e45-7855-4dd0-b082-ef7b34c2c94a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_e7e74840-115b-4b3c-8720-afc231e9f4f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_e7e74840-115b-4b3c-8720-afc231e9f4f4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_d8911d29-7a08-4181-a310-39e766defe13" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_cgnx_AgencyBondsMember_d8911d29-7a08-4181-a310-39e766defe13" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_b44255ad-a8f9-42d5-b406-fba1c9d70223" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_b44255ad-a8f9-42d5-b406-fba1c9d70223" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_916a5855-7f3a-45dd-a68b-6345ec2d4db9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_MunicipalBondsMember_916a5855-7f3a-45dd-a68b-6345ec2d4db9" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" xlink:type="extended" id="i1b5774738ae04bfbadf274fdf5939a2b_CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_ab03be90-da45-4759-9a2b-80791fc0e23d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_ab03be90-da45-4759-9a2b-80791fc0e23d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_f8edafb3-b2b1-448c-b98c-00def6838641" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_f8edafb3-b2b1-448c-b98c-00def6838641" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_f8facce6-1474-4cea-9990-d998f9f26578" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_f8facce6-1474-4cea-9990-d998f9f26578" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_06b9b100-04e1-4fb9-9bdc-85fb0de62e53" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_06b9b100-04e1-4fb9-9bdc-85fb0de62e53" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_a1803c4a-97f1-49b1-be3a-2f5bb9c8532d" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_a1803c4a-97f1-49b1-be3a-2f5bb9c8532d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_52f3f5fa-34fe-455e-8a78-ab0c7657cb8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_52f3f5fa-34fe-455e-8a78-ab0c7657cb8b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:to="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_14edccd0-4847-4458-8fa9-9f41bdd4d56e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_14edccd0-4847-4458-8fa9-9f41bdd4d56e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_5dc11e32-447a-4e9f-a6a1-af7fd2fd55fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_5dc11e32-447a-4e9f-a6a1-af7fd2fd55fa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_72d54614-f7e0-4d24-b7de-9abfeb681810" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_72d54614-f7e0-4d24-b7de-9abfeb681810" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_716f8e70-17ed-4044-97a3-e1b7035d3670" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_716f8e70-17ed-4044-97a3-e1b7035d3670" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_ccc0d64d-78bf-4f86-b50a-b5629ea57a69" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_cgnx_AgencyBondsMember_ccc0d64d-78bf-4f86-b50a-b5629ea57a69" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_5aedf26b-f868-453b-b551-6395d5541d8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_5aedf26b-f868-453b-b551-6395d5541d8d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_768fc8bf-cbbb-4e84-808a-a7c77059d3cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_MunicipalBondsMember_768fc8bf-cbbb-4e84-808a-a7c77059d3cf" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LeasesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="extended" id="i1ca3d2ce086b4cbca7d36b93de22b75e_LeasesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetRentableArea_fc058cbe-7992-4d91-bd8c-ac63922d6169" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetRentableArea"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_NetRentableArea_fc058cbe-7992-4d91-bd8c-ac63922d6169" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f332f86a-3821-4de3-b18a-ebb3e5bc94a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f332f86a-3821-4de3-b18a-ebb3e5bc94a6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_0b3269e2-60d8-4f7b-9411-36176afab5f1" xlink:href="cgnx-20220703.xsd#cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_0b3269e2-60d8-4f7b-9411-36176afab5f1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_c7c24444-b146-4be5-85c4-191d52f686d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_c7c24444-b146-4be5-85c4-191d52f686d1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_207af9a1-9f3d-4443-bd5d-088e3c1a1ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_OperatingLeaseLiability_207af9a1-9f3d-4443-bd5d-088e3c1a1ee5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:to="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_f30495f8-3515-441b-94aa-4bcd695c6f71_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:to="loc_srt_SegmentGeographicalDomain_f30495f8-3515-441b-94aa-4bcd695c6f71_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_93510988-2611-4f80-a980-4f76636def6a" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:to="loc_srt_SegmentGeographicalDomain_93510988-2611-4f80-a980-4f76636def6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SouthboroughMassachusettsMember_6e0fae7d-f745-4c51-ad5e-c1e691c31620" xlink:href="cgnx-20220703.xsd#cgnx_SouthboroughMassachusettsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_93510988-2611-4f80-a980-4f76636def6a" xlink:to="loc_cgnx_SouthboroughMassachusettsMember_6e0fae7d-f745-4c51-ad5e-c1e691c31620" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended" id="ib026d1a966ca44a19682431edccb6349_IntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_2e092763-25a6-4799-98ac-c0c970631043" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_2e092763-25a6-4799-98ac-c0c970631043" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_6c5774f2-7be0-48be-95d1-34684ba9c84b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_6c5774f2-7be0-48be-95d1-34684ba9c84b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_72adf899-5e1b-486a-817c-04b402bd5372" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_72adf899-5e1b-486a-817c-04b402bd5372" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_5aac491f-b1f0-4459-80e0-a8655baebed6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_5aac491f-b1f0-4459-80e0-a8655baebed6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_71f2cf20-d990-483b-9fda-fb1b1d588577" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_71f2cf20-d990-483b-9fda-fb1b1d588577" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_6d141d67-feb1-4085-8911-1decc7c3c9d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_6d141d67-feb1-4085-8911-1decc7c3c9d2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_f8b30cee-b469-4683-9d1f-551cdad606cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_f8b30cee-b469-4683-9d1f-551cdad606cd" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_340aae2c-95ea-4014-aad2-8d2faa805af0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_340aae2c-95ea-4014-aad2-8d2faa805af0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_cc4ad710-80ed-4c57-8d3f-b7c5aab75e01" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_cc4ad710-80ed-4c57-8d3f-b7c5aab75e01" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_66b326c6-7f3d-4a08-86ae-127126fc104e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3c852198-c19e-4423-8734-68b528b40d8a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3c852198-c19e-4423-8734-68b528b40d8a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DistributionRightsMember_afe16720-ca3e-43b9-8d90-4bf5b0418a32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DistributionRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_DistributionRightsMember_afe16720-ca3e-43b9-8d90-4bf5b0418a32" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_c303139f-9848-4f32-b87c-11bbdb817f21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_c303139f-9848-4f32-b87c-11bbdb817f21" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_f9fd6db7-fc3e-474e-88da-3dde4684d5eb" xlink:href="cgnx-20220703.xsd#cgnx_CustomerContractsAndRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_f9fd6db7-fc3e-474e-88da-3dde4684d5eb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_255ee684-7d53-49d0-9bfd-4240525c954e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_255ee684-7d53-49d0-9bfd-4240525c954e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_7284c618-85c8-440b-a419-c23a359c60c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_TrademarksMember_7284c618-85c8-440b-a419-c23a359c60c5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_38447ec2-697c-45b1-b28a-71e4c60bdb64" xlink:href="cgnx-20220703.xsd#cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_38447ec2-697c-45b1-b28a-71e4c60bdb64" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetails" xlink:type="extended" id="i1727539ce50f4f56b4da2f5d2bbdb251_DerivativeInstrumentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_45d82992-cbc6-4e92-b7fc-904821bf3157" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_287781db-ecb0-427b-b8e4-8e7860f05738" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_45d82992-cbc6-4e92-b7fc-904821bf3157" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_287781db-ecb0-427b-b8e4-8e7860f05738" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_45d82992-cbc6-4e92-b7fc-904821bf3157" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:to="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_0bc527b6-8204-449b-88f1-a98473147ffb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:to="loc_us-gaap_HedgingDesignationDomain_0bc527b6-8204-449b-88f1-a98473147ffb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_9dcde3cd-ea07-47f5-8ba8-19a7370746c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:to="loc_us-gaap_HedgingDesignationDomain_9dcde3cd-ea07-47f5-8ba8-19a7370746c5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_ba3f9ce8-2e6f-4f05-ae99-3a80e524d6d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_9dcde3cd-ea07-47f5-8ba8-19a7370746c5" xlink:to="loc_us-gaap_NondesignatedMember_ba3f9ce8-2e6f-4f05-ae99-3a80e524d6d1" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" xlink:type="extended" id="i72e6207685f34ae49012778a2109f652_DerivativeInstrumentsOutstandingForwardContractsTableDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLineItems_746d3e68-8eba-4545-9fb3-cfbcc0e2e8b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_610fcef3-2fb1-432a-9b41-fb8e8379f975" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetNotionalAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_746d3e68-8eba-4545-9fb3-cfbcc0e2e8b9" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_610fcef3-2fb1-432a-9b41-fb8e8379f975" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_746d3e68-8eba-4545-9fb3-cfbcc0e2e8b9" xlink:to="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:to="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_17f3c5f0-6694-4543-8099-f92c8fb7d98a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:to="loc_us-gaap_HedgingDesignationDomain_17f3c5f0-6694-4543-8099-f92c8fb7d98a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_8fb83dc8-55af-412e-991b-96284b344655" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:to="loc_us-gaap_HedgingDesignationDomain_8fb83dc8-55af-412e-991b-96284b344655" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_71303a6f-7edc-4083-9d56-2ac481bcc8c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_8fb83dc8-55af-412e-991b-96284b344655" xlink:to="loc_us-gaap_NondesignatedMember_71303a6f-7edc-4083-9d56-2ac481bcc8c0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:to="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain_df18f4e2-b752-4c99-875f-2c2d041a3507_default" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:to="loc_currency_AllCurrenciesDomain_df18f4e2-b752-4c99-875f-2c2d041a3507_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:to="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_EUR_f8480fba-4c9c-4b82-8ad5-450ddc9f088e" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_EUR"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_EUR_f8480fba-4c9c-4b82-8ad5-450ddc9f088e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_CNY_430391a5-8603-4bba-b33b-2ab23af0f552" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_CNY"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_CNY_430391a5-8603-4bba-b33b-2ab23af0f552" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_MXN_e5909a57-410a-459c-8a94-a8a3c496403e" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_MXN"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_MXN_e5909a57-410a-459c-8a94-a8a3c496403e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_JPY_b8b24683-63fa-4828-bb7d-c9c2e09f7918" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_JPY"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_JPY_b8b24683-63fa-4828-bb7d-c9c2e09f7918" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_GBP_9209e77f-e4b1-43b9-945b-74a74c7f6ff5" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_GBP"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_GBP_9209e77f-e4b1-43b9-945b-74a74c7f6ff5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_HUF_cf763d15-3350-4c4d-877e-1008c0399864" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_HUF"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_HUF_cf763d15-3350-4c4d-877e-1008c0399864" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_KRW_732f8629-694a-4630-8714-cf80f2ee910b" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KRW"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_KRW_732f8629-694a-4630-8714-cf80f2ee910b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_CAD_ca37ecee-b4c5-41cb-9da5-edb4c7ffbcab" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_CAD"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_CAD_ca37ecee-b4c5-41cb-9da5-edb4c7ffbcab" xlink:type="arc" order="7"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" xlink:type="extended" id="i6f72c8f4bea54999890f7c80f15cd7c5_DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_2866e5a7-9e10-417e-97e6-d1c7bd1258d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:to="loc_us-gaap_DerivativeAssets_2866e5a7-9e10-417e-97e6-d1c7bd1258d7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_26fb7528-d870-49e3-a64c-3e243c3d6067" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:to="loc_us-gaap_DerivativeLiabilities_26fb7528-d870-49e3-a64c-3e243c3d6067" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:to="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_56e6de8c-5605-4691-81ed-a4521d73034e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:to="loc_us-gaap_HedgingDesignationDomain_56e6de8c-5605-4691-81ed-a4521d73034e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_c29a0325-5c59-4c0b-8ab2-3bd08b3a372e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:to="loc_us-gaap_HedgingDesignationDomain_c29a0325-5c59-4c0b-8ab2-3bd08b3a372e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_15928960-970d-4e51-b146-2b466fe93af3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_c29a0325-5c59-4c0b-8ab2-3bd08b3a372e" xlink:to="loc_us-gaap_NondesignatedMember_15928960-970d-4e51-b146-2b466fe93af3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_31c593ce-3073-4aa9-8e7f-6c51b6713144_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_31c593ce-3073-4aa9-8e7f-6c51b6713144_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_5d951265-4645-44e8-831c-1c1086751582" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_5d951265-4645-44e8-831c-1c1086751582" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AccruedExpensesMember_f752bb7c-d06d-4451-b243-f9aade6571cf" xlink:href="cgnx-20220703.xsd#cgnx_AccruedExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:to="loc_cgnx_AccruedExpensesMember_f752bb7c-d06d-4451-b243-f9aade6571cf" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" xlink:type="extended" id="i6fcf7da6912748a69f388e182e31b853_DerivativeInstrumentsDerivativeInstrumentsGainLossDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_83a987aa-d21d-421c-ba0a-e54de1b1c836" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_9bf5da2d-44e4-4906-ac08-2ca0dc96baee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeGainLossOnDerivativeNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_83a987aa-d21d-421c-ba0a-e54de1b1c836" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_9bf5da2d-44e4-4906-ac08-2ca0dc96baee" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_83a987aa-d21d-421c-ba0a-e54de1b1c836" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:to="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_417c4fe6-5f38-4183-80bc-26bdf0b39ae1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:to="loc_us-gaap_HedgingDesignationDomain_417c4fe6-5f38-4183-80bc-26bdf0b39ae1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_1c54316e-dc80-4818-80ff-5ad91d78ebe5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:to="loc_us-gaap_HedgingDesignationDomain_1c54316e-dc80-4818-80ff-5ad91d78ebe5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_c2f0c710-6f49-4682-902c-07450821735f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_1c54316e-dc80-4818-80ff-5ad91d78ebe5" xlink:to="loc_us-gaap_NondesignatedMember_c2f0c710-6f49-4682-902c-07450821735f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_e81f16bf-509c-415b-8d74-49dc5a0394df_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_e81f16bf-509c-415b-8d74-49dc5a0394df_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_18b91037-82f0-4cd5-9b50-dfaa823f5407" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_18b91037-82f0-4cd5-9b50-dfaa823f5407" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_33ca9e79-c710-4b17-801a-6c54e464380a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyGainLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_18b91037-82f0-4cd5-9b50-dfaa823f5407" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_33ca9e79-c710-4b17-801a-6c54e464380a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" xlink:type="extended" id="ifacb38ab03884a46a75dd16a2fdd0f5a_RevenueRecognitionRevenueDisaggregatedbyGeographyDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_164bbbfd-ea87-4ead-8316-eafc2ac1a7c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1af1df9e-83f6-4b0b-8d54-18bfabc5b6b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_164bbbfd-ea87-4ead-8316-eafc2ac1a7c1" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1af1df9e-83f6-4b0b-8d54-18bfabc5b6b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_164bbbfd-ea87-4ead-8316-eafc2ac1a7c1" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:to="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_8ee19326-6e3b-4567-94bb-84237c5a0f6e_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:to="loc_srt_SegmentGeographicalDomain_8ee19326-6e3b-4567-94bb-84237c5a0f6e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:to="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AmericasMember_ab880134-4b5b-4cb6-8af6-a14321d54044" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AmericasMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_srt_AmericasMember_ab880134-4b5b-4cb6-8af6-a14321d54044" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_f62a9480-34fa-4683-b2e4-e95aa1461cdf" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_srt_EuropeMember_f62a9480-34fa-4683-b2e4-e95aa1461cdf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CN_829964f8-4c14-4e37-b0c2-25c613288e64" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_country_CN_829964f8-4c14-4e37-b0c2-25c613288e64" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AsiaExcludingChinaMember_bd108fbe-e115-4d86-98cb-b2917924ce16" xlink:href="cgnx-20220703.xsd#cgnx_AsiaExcludingChinaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_cgnx_AsiaExcludingChinaMember_bd108fbe-e115-4d86-98cb-b2917924ce16" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" xlink:type="extended" id="ia81158b0f7b74dba89b29bf4b5b37c82_RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_bfc2423f-09f8-4976-b2da-0570ba844fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_724af845-8f57-4ac8-b23e-7a0999dfc45e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_bfc2423f-09f8-4976-b2da-0570ba844fbd" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_724af845-8f57-4ac8-b23e-7a0999dfc45e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_bfc2423f-09f8-4976-b2da-0570ba844fbd" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:to="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:to="loc_srt_ProductsAndServicesDomain_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:to="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_StandardProductsandServicesMember_e6e14d51-625f-4d12-9eb7-06580e8849b4" xlink:href="cgnx-20220703.xsd#cgnx_StandardProductsandServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:to="loc_cgnx_StandardProductsandServicesMember_e6e14d51-625f-4d12-9eb7-06580e8849b4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_15bfbdac-99e3-491d-909b-ffdb1eb57448" xlink:href="cgnx-20220703.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:to="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_15bfbdac-99e3-491d-909b-ffdb1eb57448" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetails" xlink:type="extended" id="i0737bc2b20bf46dfa0a86b852c188f5b_StockBasedCompensationExpenseDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_fc76df93-31af-4c98-9920-9ca60c2b262a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_fc76df93-31af-4c98-9920-9ca60c2b262a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_0b46a6c1-7399-40ca-a912-7716706f2b26" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_0b46a6c1-7399-40ca-a912-7716706f2b26" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_990e18f9-3ed3-4ead-9aa2-dd79cbcbba9f" xlink:href="cgnx-20220703.xsd#cgnx_ExpirationPeriodOfStockOptionPlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_990e18f9-3ed3-4ead-9aa2-dd79cbcbba9f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_569b343d-897b-4a35-a795-79454c82cf67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_569b343d-897b-4a35-a795-79454c82cf67" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_0853cd5a-aa78-4fc0-ab7b-6d385814f7ab" xlink:href="cgnx-20220703.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_0853cd5a-aa78-4fc0-ab7b-6d385814f7ab" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_46957938-c0de-4f65-b371-65f5815fa684" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_46957938-c0de-4f65-b371-65f5815fa684" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c9ec15cc-0a33-4cae-b042-518debd55c90" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c9ec15cc-0a33-4cae-b042-518debd55c90" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_e27739ff-029f-4964-a3e0-98da462e3449" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_e27739ff-029f-4964-a3e0-98da462e3449" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_e172c107-4fae-4677-bf5f-5c14d3eba8e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_e172c107-4fae-4677-bf5f-5c14d3eba8e1" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_cccc86a8-61ba-48c6-9a90-172d2ac883b6" xlink:href="cgnx-20220703.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_cccc86a8-61ba-48c6-9a90-172d2ac883b6" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_87ce2e55-cf52-4d58-8c5a-7f7240f119bb" xlink:href="cgnx-20220703.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_87ce2e55-cf52-4d58-8c5a-7f7240f119bb" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_9b4baeaf-b704-4774-b05a-6002ac36dda5" xlink:href="cgnx-20220703.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_9b4baeaf-b704-4774-b05a-6002ac36dda5" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_e08fe983-765d-41f0-87aa-e3c658e0863c" xlink:href="cgnx-20220703.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_e08fe983-765d-41f0-87aa-e3c658e0863c" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_a934902f-e469-40cc-a2be-1c2b34e10193" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_a934902f-e469-40cc-a2be-1c2b34e10193" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_d0c24d0f-279e-4e83-9c70-4244f314500c" xlink:href="cgnx-20220703.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_d0c24d0f-279e-4e83-9c70-4244f314500c" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_05217732-f333-4959-a808-fdaccdb83aa3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_05217732-f333-4959-a808-fdaccdb83aa3" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_99ac2b38-8cc4-4bfc-bc12-fa41f222c558" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_99ac2b38-8cc4-4bfc-bc12-fa41f222c558" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_60d17ac5-d889-43e6-9ed5-4a03b5e95f00" xlink:href="cgnx-20220703.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_60d17ac5-d889-43e6-9ed5-4a03b5e95f00" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b63453c7-d57a-4545-95ae-4788fa2c9337_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:to="loc_srt_RangeMember_b63453c7-d57a-4545-95ae-4788fa2c9337_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:to="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f1fbbb5a-1f6c-4a11-a859-bf85dec9a8dc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:to="loc_srt_MinimumMember_f1fbbb5a-1f6c-4a11-a859-bf85dec9a8dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ade3eb41-bf4f-4ef9-a4bc-0ccfc4865d09" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:to="loc_srt_MaximumMember_ade3eb41-bf4f-4ef9-a4bc-0ccfc4865d09" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_940f8f3b-a594-4f71-9141-7139edca2430_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_940f8f3b-a594-4f71-9141-7139edca2430_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_0501db7f-1bb0-47bd-996b-65d4a163bb60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:to="loc_us-gaap_EmployeeStockOptionMember_0501db7f-1bb0-47bd-996b-65d4a163bb60" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_bef63f91-9de6-4a5d-8104-00f8ab790e73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_bef63f91-9de6-4a5d-8104-00f8ab790e73" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_e6f3f10a-3ad5-4b79-822a-123cd8049c94" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:to="loc_us-gaap_PerformanceSharesMember_e6f3f10a-3ad5-4b79-822a-123cd8049c94" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_60135387-cadb-4857-b086-495957e09452_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:to="loc_us-gaap_PlanNameDomain_60135387-cadb-4857-b086-495957e09452_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_1b82f937-87f7-4219-ae34-e804d602dd87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:to="loc_us-gaap_PlanNameDomain_1b82f937-87f7-4219-ae34-e804d602dd87" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_97987020-70ed-45fa-bcc4-4eaf6172d208" xlink:href="cgnx-20220703.xsd#cgnx_GeneralStockOptionPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_1b82f937-87f7-4219-ae34-e804d602dd87" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_97987020-70ed-45fa-bcc4-4eaf6172d208" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" xlink:type="extended" id="if487e256fe6842b9ab3b054b9bb79044_StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_52fc24cf-5f0f-4b89-af28-77e8829d0403" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_52fc24cf-5f0f-4b89-af28-77e8829d0403" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a74fb9ec-78b7-4fdd-b406-fdabb9e3f0f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a74fb9ec-78b7-4fdd-b406-fdabb9e3f0f4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_904fcd69-67f1-44a2-80f1-88a5f0f3989b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_904fcd69-67f1-44a2-80f1-88a5f0f3989b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28477f87-3328-45c6-b190-472f673dba52" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28477f87-3328-45c6-b190-472f673dba52" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_c97ef267-6a0f-4829-be0f-e3f3bf1eb47d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_626c867f-6abe-4029-88f8-37a19576a420" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_626c867f-6abe-4029-88f8-37a19576a420" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_18a02e10-ab01-4556-8114-e6c0e268f5e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_18a02e10-ab01-4556-8114-e6c0e268f5e2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_67adf0c9-0b92-4b15-9b95-80c0ea14c2c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_67adf0c9-0b92-4b15-9b95-80c0ea14c2c8" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_83e21213-b454-42be-aa85-b1ec33f4b7c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_83e21213-b454-42be-aa85-b1ec33f4b7c8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_75e1fb3f-7e85-49f0-8129-dddc62a2ae91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:to="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d9c30746-666e-4a1c-a589-438876de3c8f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d9c30746-666e-4a1c-a589-438876de3c8f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7d5974bd-0972-411d-9cad-3f5493e4f99f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7d5974bd-0972-411d-9cad-3f5493e4f99f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_2a3ce49a-d8d7-4f2e-9ab5-bb462db3d634" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7d5974bd-0972-411d-9cad-3f5493e4f99f" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_2a3ce49a-d8d7-4f2e-9ab5-bb462db3d634" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails" xlink:type="extended" id="i1a41d6ba776a4e02a8eb590eab9e061a_StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46d0800e-2ea7-4954-ba8f-29fe1c9d0122" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46d0800e-2ea7-4954-ba8f-29fe1c9d0122" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c58d0545-bfd5-45f7-a069-498a34d8ae43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c58d0545-bfd5-45f7-a069-498a34d8ae43" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b1ab20e2-a1a3-4038-92e4-77daebda6952" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b1ab20e2-a1a3-4038-92e4-77daebda6952" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_9f74a33d-5c9f-4dca-b69d-2c558e5aeb6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_9f74a33d-5c9f-4dca-b69d-2c558e5aeb6a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2741b3d8-70e5-48cd-b9d0-eb935f8098b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c1215a9f-7ff1-4c32-b5a0-77662eaebb37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c1215a9f-7ff1-4c32-b5a0-77662eaebb37" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_10c971aa-23f0-4610-a2a2-8f2a03b927a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_10c971aa-23f0-4610-a2a2-8f2a03b927a9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_39399cc5-0422-479e-818e-86905bc8298f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_39399cc5-0422-479e-818e-86905bc8298f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fec6931b-5be4-4972-93dc-d9fbbe1ce097" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fec6931b-5be4-4972-93dc-d9fbbe1ce097" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7cbdf401-2ac5-416f-87f6-873bf7e04d93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:to="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0d66dda1-97e8-4af7-8e11-86442524f22d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0d66dda1-97e8-4af7-8e11-86442524f22d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_19be0322-22f7-4604-a1b6-c32a15dd7feb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_19be0322-22f7-4604-a1b6-c32a15dd7feb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_b4ef45c4-8caa-407d-85d4-3f828a2995e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_19be0322-22f7-4604-a1b6-c32a15dd7feb" xlink:to="loc_us-gaap_PerformanceSharesMember_b4ef45c4-8caa-407d-85d4-3f828a2995e1" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" xlink:type="extended" id="ifb471f85a8f64b3a870d42bb75f58fdb_StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_67ef88ad-5b07-4559-b87e-c8bdca064146" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_8cf4787b-5d05-4b98-94c5-5c6482d7af59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_67ef88ad-5b07-4559-b87e-c8bdca064146" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_8cf4787b-5d05-4b98-94c5-5c6482d7af59" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_f982feea-fa13-4543-a845-a388c754127c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_67ef88ad-5b07-4559-b87e-c8bdca064146" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_f982feea-fa13-4543-a845-a388c754127c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_f982feea-fa13-4543-a845-a388c754127c" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_01922395-0e8f-4a2a-808c-89010109b47f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_01922395-0e8f-4a2a-808c-89010109b47f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_934a6d58-c83d-4db6-8365-8714a57ed318" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsTotalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_934a6d58-c83d-4db6-8365-8714a57ed318" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_96e5be65-1d5b-467f-abd2-ebf6db50e4ff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_96e5be65-1d5b-467f-abd2-ebf6db50e4ff" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_4b7c0a70-e1d0-438a-9b2d-25728ba0ed85" xlink:href="cgnx-20220703.xsd#cgnx_SellingGeneralAndAdministrativeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_4b7c0a70-e1d0-438a-9b2d-25728ba0ed85" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockRepurchaseProgramDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetails" xlink:type="extended" id="id75588a18636433dad169b1f235bdbdb_StockRepurchaseProgramDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityClassOfTreasuryStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_8ac3eefb-c144-4c2b-b9da-6c974032ff59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_8ac3eefb-c144-4c2b-b9da-6c974032ff59" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRedeemedOrCalledDuringPeriodShares_90549003-17e8-4dd7-a1a7-346206e10e31" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRedeemedOrCalledDuringPeriodShares_90549003-17e8-4dd7-a1a7-346206e10e31" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRedeemedOrCalledDuringPeriodValue_ba937d14-8006-4820-ba76-407f0af5e7f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRedeemedOrCalledDuringPeriodValue_ba937d14-8006-4820-ba76-407f0af5e7f9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_25779842-1f7f-4229-8c53-4b739f6b2b5b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_25779842-1f7f-4229-8c53-4b739f6b2b5b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_fc19fb09-3fce-4c2c-84ea-aadbbecc733f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_fc19fb09-3fce-4c2c-84ea-aadbbecc733f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_RepurchaseProgramMarch2020Member_48e41fc9-318a-4b45-8869-2848cd092d7d" xlink:href="cgnx-20220703.xsd#cgnx_RepurchaseProgramMarch2020Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:to="loc_cgnx_RepurchaseProgramMarch2020Member_48e41fc9-318a-4b45-8869-2848cd092d7d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_RepurchaseProgramMarch2022Member_cffe116b-c2af-4499-8bfd-7ed050ae52ce" xlink:href="cgnx-20220703.xsd#cgnx_RepurchaseProgramMarch2022Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:to="loc_cgnx_RepurchaseProgramMarch2022Member_cffe116b-c2af-4499-8bfd-7ed050ae52ce" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IncomeTaxesDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/IncomeTaxesDetails" xlink:type="extended" id="i4f0a7d47c55345e3b30396fdb677d2ae_IncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e00ed585-dd3e-4ee8-8a4e-dafc108f0e7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e00ed585-dd3e-4ee8-8a4e-dafc108f0e7f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_5a78ab45-c50f-4b64-8478-b4043459a87a" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_5a78ab45-c50f-4b64-8478-b4043459a87a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_0800a22b-a0c1-4fee-882f-c9254403ce2f" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_0800a22b-a0c1-4fee-882f-c9254403ce2f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxSettlements_a550ac5a-2704-470b-a6e4-a754724ecb8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxSettlements"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxSettlements_a550ac5a-2704-470b-a6e4-a754724ecb8b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_df24e52f-5cfc-4503-b9d1-476d8f765df3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_df24e52f-5cfc-4503-b9d1-476d8f765df3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_0d09a816-f616-4fc7-9888-7b6793fba48e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_0d09a816-f616-4fc7-9888-7b6793fba48e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_444dbf6f-167d-44a2-a050-181d5d15a110" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_444dbf6f-167d-44a2-a050-181d5d15a110" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_1b5233fe-9801-48e5-b227-80eff9a61ea4" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_1b5233fe-9801-48e5-b227-80eff9a61ea4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_33397005-621d-4f07-86ae-60c837c69f81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_33397005-621d-4f07-86ae-60c837c69f81" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_0bdedd7a-6c0a-4395-91cf-3a7bd2e3df42" xlink:href="cgnx-20220703.xsd#cgnx_LiabilityForUncertainTaxPositions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_LiabilityForUncertainTaxPositions_0bdedd7a-6c0a-4395-91cf-3a7bd2e3df42" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_21d4c676-557f-4f6e-9743-bd907683883f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_21d4c676-557f-4f6e-9743-bd907683883f" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredLiabilities_bd870159-3935-4bd2-b6ba-aa45899f4166" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredLiabilities_bd870159-3935-4bd2-b6ba-aa45899f4166" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_37bee63e-2448-4a19-82b9-3044000eecc4" xlink:href="cgnx-20220703.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_37bee63e-2448-4a19-82b9-3044000eecc4" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_296bcebd-d7b7-46b1-92d6-a301ce714537" xlink:href="cgnx-20220703.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_296bcebd-d7b7-46b1-92d6-a301ce714537" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities_98f56cb1-9ca1-4f9f-9de1-586510fa66f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities_98f56cb1-9ca1-4f9f-9de1-586510fa66f3" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_0917e320-da94-467e-aa66-3554b87f1e5f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_0917e320-da94-467e-aa66-3554b87f1e5f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_df3938cb-ff9c-4183-b7f6-10e7e0d44db0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:to="loc_us-gaap_ForeignCountryMember_df3938cb-ff9c-4183-b7f6-10e7e0d44db0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_ca2b68be-ce15-40f9-848e-fc4c92add8de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:to="loc_us-gaap_DomesticCountryMember_ca2b68be-ce15-40f9-848e-fc4c92add8de" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_2e737c0c-1a39-4afd-b154-58dc96c81d9d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_2e737c0c-1a39-4afd-b154-58dc96c81d9d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_53750a17-bbf6-40cd-8c19-31c2008d1f1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueCommissionersIrelandMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_53750a17-bbf6-40cd-8c19-31c2008d1f1e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_9272161d-4d3b-438d-a8c2-371a9a9df684" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAdministrationOfTaxationChinaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_9272161d-4d3b-438d-a8c2-371a9a9df684" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_KP_61cb1e6d-1ee9-4e46-ac38-b385d2527a1f" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KP"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:to="loc_country_KP_61cb1e6d-1ee9-4e46-ac38-b385d2527a1f" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WeightedAverageSharesDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetails" xlink:type="extended" id="iaa2ff32e6a1942c8ab2a735609b9c3e1_WeightedAverageSharesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_95dd5c52-cfe5-4955-842e-b341793416f6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab6c3c94-ac36-4fcf-8f95-a5714af1be7b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_95dd5c52-cfe5-4955-842e-b341793416f6" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab6c3c94-ac36-4fcf-8f95-a5714af1be7b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_95dd5c52-cfe5-4955-842e-b341793416f6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_2cba3aaa-3bd5-4c91-a76b-87aec735fb41_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_2cba3aaa-3bd5-4c91-a76b-87aec735fb41_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_9df48ab5-ad61-4074-a89b-446c52fa67a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:to="loc_us-gaap_EmployeeStockOptionMember_9df48ab5-ad61-4074-a89b-446c52fa67a8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_f87adc81-5221-479b-9684-322a5a68eb08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:to="loc_us-gaap_RestrictedStockMember_f87adc81-5221-479b-9684-322a5a68eb08" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_1180c7b2-3701-41d8-a61d-f88be99f3746" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:to="loc_us-gaap_PerformanceSharesMember_1180c7b2-3701-41d8-a61d-f88be99f3746" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#SubsequentEventsDetails"/>
  <link:definitionLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended" id="i2c546d338e4c460f84a643e7f6977342_SubsequentEventsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_c6c70ba8-c4f5-4292-a1ed-7609cc31a81f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_79846179-aa1b-4e80-b54e-ba8b06c69f92" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_c6c70ba8-c4f5-4292-a1ed-7609cc31a81f" xlink:to="loc_us-gaap_CommonStockDividendsPerShareDeclared_79846179-aa1b-4e80-b54e-ba8b06c69f92" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_c6c70ba8-c4f5-4292-a1ed-7609cc31a81f" xlink:to="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_7d7e72f2-3479-444a-9c90-b178e623d243_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_7d7e72f2-3479-444a-9c90-b178e623d243_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_cd15deb6-88a4-439b-a801-e28a0cba0a50" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_cd15deb6-88a4-439b-a801-e28a0cba0a50" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_aca001ad-7b95-4f5a-8a2b-8f939242b7ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_cd15deb6-88a4-439b-a801-e28a0cba0a50" xlink:to="loc_us-gaap_SubsequentEventMember_aca001ad-7b95-4f5a-8a2b-8f939242b7ce" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>cgnx-20220703_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:99bc1a8f-2526-451f-973a-aa9140899242,g:fd3f35d6-c9ff-45b5-af84-3b0a27fd2c28-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_66a63a6e-7c17-4b9c-ae9c-344f69d450ac_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">less than 1 year</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0a455ce0-9f23-41c3-b534-d4e1c8f0a421_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_08bee955-a7b2-415f-9dcd-9add017836de_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_36b99f6b-991e-45a8-81a9-5bea0f8dd85e_terseLabel_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State Administration of Taxation, China</link:label>
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_label_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State Administration of Taxation, China [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAdministrationOfTaxationChinaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAdministrationOfTaxationChinaMember" xlink:to="lab_us-gaap_StateAdministrationOfTaxationChinaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_GBP_10fe461a-294f-4d7b-b556-eee610c8df6b_terseLabel_en-US" xlink:label="lab_currency_GBP" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:label id="lab_currency_GBP_label_en-US" xlink:label="lab_currency_GBP" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_GBP" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_GBP"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_GBP" xlink:to="lab_currency_GBP" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_e0170285-08b7-4cc0-8966-1c24388fd358_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_03c466a4-6f19-4c14-a9c2-d315070fdee6_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_a7f0696a-0a53-4163-ae37-70ac544b8097_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e34e32d4-5604-4a85-aede-1b7c45dbc8f1_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net change related to available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_48e91fdb-9f8e-4eab-8398-3904eb1dfef8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividendsCommonStock" xlink:to="lab_us-gaap_PaymentsOfDividendsCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_647dab6d-1c7b-433f-8aef-262647033f48_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_60c85c0f-00d0-43b5-8440-fee7859e5b6c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross amounts offset</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset, Subject to Master Netting Arrangement, Collateral, Obligation to Return Cash, Offset Against Derivative Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:to="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9ae0a07d-1a25-4f3a-842c-142fa2dfd84a_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_6c3e93f3-767a-4a99-b2cd-4ac8116f3491_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_5a076795-09d1-4c8b-be5d-86eee7779aa8_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_b9a115b5-bc32-498d-9879-f0b947d774d6_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised, shares</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_96434bb8-6dbf-4e08-80cb-4f75d3a64cce_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_a9ad8337-991c-4d9b-a69e-498a4955438d_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_5c79cfc1-c7fe-470f-ad31-af82be854cc3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentAssetsMember_f25216cb-af8e-46f2-a97b-48debede5877_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Assets</link:label>
    <link:label id="lab_us-gaap_OtherCurrentAssetsMember_label_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentAssetsMember" xlink:to="lab_us-gaap_OtherCurrentAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_678ee88e-b780-4543-84e4-52e8aa187006_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_a1d4b33f-1a12-472e-9685-950690f9d6ff_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_CatastropheAbstract_label_en-US" xlink:label="lab_cgnx_CatastropheAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Catastrophe [Abstract]</link:label>
    <link:label id="lab_cgnx_CatastropheAbstract_documentation_en-US" xlink:label="lab_cgnx_CatastropheAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Catastrophe</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CatastropheAbstract" xlink:href="cgnx-20220703.xsd#cgnx_CatastropheAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CatastropheAbstract" xlink:to="lab_cgnx_CatastropheAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_10b2245c-4c86-461e-9c9a-9c35dba2cf32_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Contracts, Liability, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:to="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_d6366513-6d93-4328-8638-834fbdfcaa69_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_17b9b28b-7c95-4bff-8ddf-0df737c5dbe2_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_1f42fcd7-6605-4de4-8f95-cd2e41d056e1_terseLabel_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Asia</link:label>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_label_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia, Excluding China [Member]</link:label>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_documentation_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia, Excluding China [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AsiaExcludingChinaMember" xlink:href="cgnx-20220703.xsd#cgnx_AsiaExcludingChinaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AsiaExcludingChinaMember" xlink:to="lab_cgnx_AsiaExcludingChinaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_e3de864b-8256-46be-90d7-43fa3325ab34_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3ed12280-8a84-4ecd-a20c-8a5e5193c83a_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Anti-dilutive securities excluded from computation of earnings per share (shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIntangibleAssetsMember_2aa281bf-9c87-4732-b02e-956954769d8c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_OtherIntangibleAssetsMember_label_en-US" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Intangible Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIntangibleAssetsMember" xlink:to="lab_us-gaap_OtherIntangibleAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_42d1dae8-4a52-4b07-97a6-2d961cd8b38a_terseLabel_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Investments</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_label_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long Term Investments [Member]</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_documentation_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term investments.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LongTermInvestmentsMember" xlink:href="cgnx-20220703.xsd#cgnx_LongTermInvestmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LongTermInvestmentsMember" xlink:to="lab_cgnx_LongTermInvestmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_4999d07b-b287-4c48-8eb9-b335fdfb3235_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Gain (Loss) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyGainLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyGainLossMember" xlink:to="lab_us-gaap_ForeignCurrencyGainLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_3dc43df8-06aa-4a68-8bbf-5cd0b6ef42ba_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent_58c9da6b-179d-46e8-9e08-915b54e5333a_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_a0f89f0a-29a4-4e70-9e74-7fbfffe9ba24_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_eaaeaddb-4ea9-4816-b61b-777fd144bde5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_ad7cfe9d-fb4d-4fc9-9d41-77198bc4f76d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_1664a341-8e77-4257-bb7d-8bc21c9cc938_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_fb800691-6b49-43f7-a9d8-1eaee799521a_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_c9b44bbb-0bb9-42f4-be30-dfff4666caf6_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_2a428d53-92f9-4be4-a244-19882de16fdf_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in tax expense related to valuation allowance</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_54a21818-cf90-4ad1-9c39-35636a26fc06_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_dcce4232-1c33-4f0f-825a-4ad5df973d32_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_638be89d-293d-4782-9d0b-6d6646a5cb03_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_34a5ab01-9795-41f1-8386-fec58e1d59ab_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial assets at fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_f4cbe21e-a49d-4b54-9803-bf9dde1c23fb_verboseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_a1db7659-dffa-4f4b-9427-f287aa76174a_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_90889d97-f4ae-45b6-a2e7-117d62a238a2_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain" xlink:to="lab_us-gaap_HedgingDesignationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_83341868-1cda-4d0f-a24b-d13e776e2887_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (usd per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_701bc3c3-6059-40b1-bcdf-1978e0f08b78_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross amounts offset</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Liability, Subject to Master Netting Arrangement, Collateral, Right to Reclaim Cash Offset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:to="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_100f8172-2010-40cd-82d6-df6529a5fc51_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_682a96e8-0bfa-409f-9d78-c50720aadb97_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remainder of fiscal 2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_9747757c-fa97-4ba0-9b69-9591a115dd88_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_b9ad334a-265f-40c9-994f-16c828415285_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, $.002 par value &#8211; Authorized: 300,000 shares in 2022 and 2021, respectively; issued and outstanding: 173,397 and 175,481 shares in 2022 and 2021, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValueOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValueOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValueOutstanding" xlink:to="lab_us-gaap_CommonStockValueOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_e70dbee9-1dda-4959-ae86-e41932a54121_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_655ed052-fc84-4d14-aae4-dcce4c8d2fcd_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_e8470e7c-7723-42f2-aa49-7747a6be6877_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Calculation of Weighted-Average Shares</link:label>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_5528f5ad-ad69-4c48-9204-2d35f682fd0a_terseLabel_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for uncertain tax positions</link:label>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_label_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability For Uncertain Tax Positions</link:label>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_documentation_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for uncertain tax positions, total.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions" xlink:href="cgnx-20220703.xsd#cgnx_LiabilityForUncertainTaxPositions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LiabilityForUncertainTaxPositions" xlink:to="lab_cgnx_LiabilityForUncertainTaxPositions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_f8514200-d9f1-4e4f-98a8-29d12530a54d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale investments:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_c955340c-e61f-4ec4-86a1-c62bac83623e_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_05db3921-f9ef-450a-b36d-83c7cfa74df7_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_69409130-4835-4933-882c-6d355ce6b0e7_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_8e0c66d8-3fe0-4bb7-9cf9-7c6d6eaaf78e_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeAssets_953972a1-e37d-4cac-ad8b-978bdc8e3fa6_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative asset</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_5edcaf79-8a8b-4953-97e9-ee815d9cea44_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net amount of assets presented</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets" xlink:to="lab_us-gaap_DerivativeAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_32a16230-31d8-4166-b70e-3b6ad7d6bd66_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_AllCurrenciesDomain_bd9137a7-614f-4394-a473-d12218ba92ea_terseLabel_en-US" xlink:label="lab_currency_AllCurrenciesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:label id="lab_currency_AllCurrenciesDomain_label_en-US" xlink:label="lab_currency_AllCurrenciesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_AllCurrenciesDomain" xlink:to="lab_currency_AllCurrenciesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_NonCashLossFromCatastrophes_36cef84f-5329-40d4-ae2d-0abbca98bf42_terseLabel_en-US" xlink:label="lab_cgnx_NonCashLossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash impact of write-offs related to fire (Note 17)</link:label>
    <link:label id="lab_cgnx_NonCashLossFromCatastrophes_label_en-US" xlink:label="lab_cgnx_NonCashLossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash, Loss from Catastrophes</link:label>
    <link:label id="lab_cgnx_NonCashLossFromCatastrophes_documentation_en-US" xlink:label="lab_cgnx_NonCashLossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash, Loss from Catastrophes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_NonCashLossFromCatastrophes" xlink:href="cgnx-20220703.xsd#cgnx_NonCashLossFromCatastrophes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NonCashLossFromCatastrophes" xlink:to="lab_cgnx_NonCashLossFromCatastrophes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable_f0dc0e31-2e2c-4b5d-a58a-73603c3d4f21_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Cash and Cash Equivalents [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:to="lab_us-gaap_ScheduleOfCashAndCashEquivalentsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_d94bac63-f126-4152-869d-e92c3dab4eec_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_81f242b4-391f-4a93-95cb-8761cc7d5c43_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining lease term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee7f1294-1603-4afa-b3b1-96deaf280650_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_f029f890-9198-44aa-ba84-6d6bf6ce1518_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_b14e989f-e96f-4bb3-af6b-c26b35af0861_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_dc0412de-d7b7-4156-b80c-7d478e6f5673_negatedLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fulfillment of warranty obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_ProductWarrantyAccrualPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities_af95441f-880f-4ece-9099-02668edbc602_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized tax benefits, increase resulting from settlements with taxing authorities</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Settlements with Taxing Authorities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_03f646c1-3385-4e15-9400-95956b548cc6_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_fbb8f4c6-fa88-4fb7-b408-68a64d2b5368_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent_dc29a605-412b-43da-844c-6e9d90430923_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized cost of current investments</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_1926041b-4308-41f5-b40b-93e55405dd69_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current investments, amortized cost of $184,849 and $137,124 in 2022 and 2021, respectively, allowance for credit losses of $0 in 2022 and 2021</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_db4dfb3d-b2c3-40f1-b9ce-3d61af295181_verboseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_9811fff2-557b-4b44-ba48-d04d2c446dee_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_47fae10f-e548-485f-9b8f-9e6c24d80a49_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_9796aac3-a564-4c7e-b751-cdc425ad227d_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Commissioners, Ireland</link:label>
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_label_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Commissioners, Ireland [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueCommissionersIrelandMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueCommissionersIrelandMember" xlink:to="lab_us-gaap_RevenueCommissionersIrelandMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb8149bd-8df6-4e70-b1e6-fcd4bff9094c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted- Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_bceff806-656c-483c-a0cc-28ef40559843_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares (in thousands)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_206af605-7c54-4830-8586-82cd7d41681a_terseLabel_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_label_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_585c7f24-5ba2-41f3-93f3-f4d31f778278_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited or expired, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_25fc8879-8b89-4e6b-bdc3-87118335f9ce_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets:</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract" xlink:to="lab_us-gaap_AssetsFairValueDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LossFromCatastrophes_7a05ef23-d7a1-48bc-9ac1-b302f3348da5_terseLabel_en-US" xlink:label="lab_us-gaap_LossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from fire (Note 17)</link:label>
    <link:label id="lab_us-gaap_LossFromCatastrophes_47d33417-4b61-4976-8b66-070b0a929a0b_verboseLabel_en-US" xlink:label="lab_us-gaap_LossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from fire</link:label>
    <link:label id="lab_us-gaap_LossFromCatastrophes_label_en-US" xlink:label="lab_us-gaap_LossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from Catastrophes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossFromCatastrophes" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossFromCatastrophes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossFromCatastrophes" xlink:to="lab_us-gaap_LossFromCatastrophes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_90ef2bfc-be77-41a1-b592-df9fea4df433_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0900495a-9c45-4090-85d0-e2af00568c8a_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested as of Beginning of Period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_a723d0c5-7ccf-4cc1-abde-bfb3f413cbf1_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested as of End of Period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_0997cfd5-f394-4726-87ce-cc836f8368e7_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_857bf5e1-e2e5-4767-bc1b-503b570db1bd_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_3f5d802e-921f-4b3a-932e-748bb8310fdc_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_5fb06dc7-197a-401a-a20c-0f2ac922262a_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_13cdeab5-28b8-4511-9e73-675d0c2ed309_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_549e69f9-a703-4e1f-9f34-fa775e57bd82_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Completed technologies</link:label>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_31662e17-3953-4689-8e11-43d09f9eae7e_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis" xlink:to="lab_us-gaap_FinancialInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_df5af4d7-ff98-46c0-98b7-523f06a4d1bc_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_7a330391-4f25-4f0d-a934-7181f245284f_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_8c674559-0fa5-409f-ad55-de6d19453e6b_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Realized loss (gain) on sale of investments</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Sale of Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfInvestments" xlink:to="lab_us-gaap_GainLossOnSaleOfInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_3531dbed-f4f2-4db0-8e3f-3de10919fca5_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sovereign Bonds</link:label>
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sovereign Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtSecuritiesMember" xlink:to="lab_us-gaap_SovereignDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_a721838f-3401-4964-b80d-a3a112ea9d81_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total fair values of stock options vest</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share based compensation arrangement by share based payment award options vested fair value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6591ce76-399a-46d7-8241-7c77fec8cfac_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_721a0a01-dd66-4a22-bf97-9e4f28ad4908_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_78bb02e4-5e25-4509-ad74-a82e3c790867_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write-offs, net of recoveries</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ExcessAndObsoleteInventoryCharges_d298a02d-6c08-4f1f-8fec-fb6bf968a517_terseLabel_en-US" xlink:label="lab_cgnx_ExcessAndObsoleteInventoryCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess and obsolete inventory charges</link:label>
    <link:label id="lab_cgnx_ExcessAndObsoleteInventoryCharges_label_en-US" xlink:label="lab_cgnx_ExcessAndObsoleteInventoryCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess and Obsolete Inventory Charges</link:label>
    <link:label id="lab_cgnx_ExcessAndObsoleteInventoryCharges_documentation_en-US" xlink:label="lab_cgnx_ExcessAndObsoleteInventoryCharges" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess and Obsolete Inventory Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ExcessAndObsoleteInventoryCharges" xlink:href="cgnx-20220703.xsd#cgnx_ExcessAndObsoleteInventoryCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ExcessAndObsoleteInventoryCharges" xlink:to="lab_cgnx_ExcessAndObsoleteInventoryCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_045abe6d-de96-4292-9574-3a993e940515_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_1c9f8741-6c81-4d4d-bffd-dc85432224bc_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1cdea9da-5c04-4384-9a52-d6de5614d78f_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_3d5bf00e-a1dd-4576-bbd9-7ecb41d90026_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares</link:label>
    <link:label id="lab_us-gaap_PerformanceSharesMember_label_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_1618d844-cc1a-4554-94c9-16de9225081d_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_6ef41c48-e7ff-4b92-8f4b-8e726200f7b0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_e0cc801e-57db-4ef4-b0ff-450e1325335a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_da598fb0-5141-4cf6-88dc-99366b39c925_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_14d11b8d-3850-4df0-9235-1bd5f80ba57b_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermInvestments_ae97a819-54b7-4429-aff8-308d44900e1f_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current investments, amortized cost of $450,669 and $587,981 in 2022 and 2021, respectively, allowance for credit losses of $0 in 2022 and 2021</link:label>
    <link:label id="lab_us-gaap_LongTermInvestments_b4f564e5-3b0d-4791-b540-40db266baa20_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermInvestments" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current investments</link:label>
    <link:label id="lab_us-gaap_LongTermInvestments_label_en-US" xlink:label="lab_us-gaap_LongTermInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermInvestments" xlink:to="lab_us-gaap_LongTermInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_624872c1-f416-4484-95e3-90da818301ca_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Authorized common stock to be repurchased</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_ae4312f2-4ab6-4098-a0d2-08b174fc7e7d_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-Backed Securities</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset-Backed Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_9a93d3e9-fb29-47a8-8aea-f6141d3e90bc_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_d474e666-37f1-4540-9918-f693f91881ab_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_28613519-f997-474b-9f46-072775acb2cb_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_3ef80799-f1ef-47ee-85d5-4b5c4c820e54_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average Shares</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_JPY_ea8fd360-d184-4b1b-9667-8189851d352e_terseLabel_en-US" xlink:label="lab_currency_JPY" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japanese Yen</link:label>
    <link:label id="lab_currency_JPY_label_en-US" xlink:label="lab_currency_JPY" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japan, Yen</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_JPY" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_JPY"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_JPY" xlink:to="lab_currency_JPY" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_ae6ea9d0-a7b4-4ec5-bd15-40f03245651a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MunicipalBondsMember_cd50fdac-5dbb-4cdd-9d67-f08e7d801ddd_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Municipal Bonds</link:label>
    <link:label id="lab_us-gaap_MunicipalBondsMember_label_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Municipal Bonds [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalBondsMember" xlink:to="lab_us-gaap_MunicipalBondsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_c17e0e91-ac86-47cd-a939-b0172fd170a5_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax effect of unrealized gain (loss) on available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_83c97887-320a-444e-aa80-2446cfcfee99_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_172fa58f-e03d-4e04-a8b6-2a97e6e2d07a_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Investments</link:label>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Investments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermInvestmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestmentsMember" xlink:to="lab_us-gaap_ShortTermInvestmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1e0b06f9-0bc9-418a-8b44-819e5b3ac90e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_208c2f10-3194-4cce-aca8-2ee7cc045405_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Unrealized Losses</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_281e0880-1043-4a1a-9722-edc3b23a7a5b_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_eab76251-36f3-4b1c-a2de-5cc2a7498f7d_terseLabel_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_label_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_documentation_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember" xlink:href="cgnx-20220703.xsd#cgnx_CustomerContractsAndRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CustomerContractsAndRelationshipsMember" xlink:to="lab_cgnx_CustomerContractsAndRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_66de1647-f783-4d1c-b7fd-9bfbbdc4e265_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyTable" xlink:to="lab_us-gaap_IncomeTaxContingencyTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_cdfef9b4-364b-4348-b312-959d54702e61_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_c11704f6-b7f9-4b46-b657-d23b895aae58_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross margin</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_5aa0c12c-52b5-42b5-ae7a-84f7c4747395_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRedeemedOrCalledDuringPeriodValue_1301df81-ebc3-4546-9631-c1971790674a_terseLabel_en-US" xlink:label="lab_us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares repurchased at cost</link:label>
    <link:label id="lab_us-gaap_StockRedeemedOrCalledDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Redeemed or Called During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:to="lab_us-gaap_StockRedeemedOrCalledDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_country_CN_d12c49f5-51f4-4f1b-8c28-96febffa279f_terseLabel_en-US" xlink:label="lab_country_CN" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Greater China</link:label>
    <link:label id="lab_country_CN_label_en-US" xlink:label="lab_country_CN" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CHINA</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_CN" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_CN" xlink:to="lab_country_CN" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_50c30039-01ed-49a7-822e-e4ebbeb9dcc9_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_cb00edc5-3410-49c9-b905-4574c847fcb4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_2ff976da-670c-4fad-bb94-ca44c0e82ed9_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_a4971cd3-56db-4ae2-9e50-8225ec116f7d_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_3b0b68b2-92b1-46ac-9d48-8d5f026c12c8_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_e6c41419-6717-4262-9c40-257f8e1e6873_terseLabel_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Groups within the employee population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_label_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Groups Within Employee Population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_documentation_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of groups within employee population.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:href="cgnx-20220703.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:to="lab_cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_fad52ab8-31a0-4871-b976-2c0cd104c938_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2-3 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale securities, debt maturities after second year but before third year, fair value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_MXN_c6b75ad2-8eb1-4635-8bca-96311a819e02_terseLabel_en-US" xlink:label="lab_currency_MXN" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Mexico, Pesos</link:label>
    <link:label id="lab_currency_MXN_label_en-US" xlink:label="lab_currency_MXN" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Mexico, Pesos</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_MXN" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_MXN"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_MXN" xlink:to="lab_currency_MXN" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_c1358963-cac0-4989-954f-a4dd6ad83ca2_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_cfaf4906-1f17-418b-af29-13d87fe821c5_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_dd08059a-61dd-40b1-8e2d-e203b1ab32db_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_2c3030fa-202d-42fe-8942-e0d7011c85d1_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWriteDown_23f7b359-d021-4eae-bd87-a3dd7699b52a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory write-down</link:label>
    <link:label id="lab_us-gaap_InventoryWriteDown_label_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Write-down</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWriteDown" xlink:to="lab_us-gaap_InventoryWriteDown" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_ad24e682-685c-4065-b999-35068ea2a425_terseLabel_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Application-specific customer solutions</link:label>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_label_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Application-Specific Customer Solutions [Member]</link:label>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_documentation_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Application-Specific Customer Solutions [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:href="cgnx-20220703.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:to="lab_cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_d748aca5-2c29-478d-81aa-a71288bfc041_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_82da6296-f253-4155-b811-5742d52063b9_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_76bcb144-d97f-4632-b95d-59bc4ec8a7c1_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_85fb3f42-4175-4ae8-8ee6-c5c64984ad5d_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_f7261fe6-5886-43d1-ad28-d73d7caeebac_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_b729fc90-1c7e-4656-ac3e-4e9fe565e7e8_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_622967b8-93db-48a2-8964-bfd170f878ba_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_d10e33eb-2e5c-47b8-bf68-ed3d64e5128a_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research, development, and engineering expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent_1dd36cab-e17d-44ac-be2e-35c7bf6d6174_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses, non-current</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Allowance for Credit Loss, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_eb8a13dd-5071-4ac7-a6d6-3f3431685738_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_461ff2ce-8feb-4d25-9a1f-b2f8d267194e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_9de185e6-31bd-44be-90fe-3c11ff3b8b05_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs)</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8ddca482-5638-4180-a119-79a516ce6179_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_ad598fca-51d5-457c-b9f8-a1be1c0e72f4_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_0c9e16f5-2291-4fe7-9627-cca61747a362_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent consideration liability</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_fc9c2489-f1bf-4f26-9d91-e4a39cada1e6_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_55162248-34ac-4d79-b268-518f74d0682f_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_5e698cbb-c0a8-47fb-8e54-0e3ca394c31f_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual" xlink:to="lab_us-gaap_ProductWarrantyAccrual" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_8c1272ee-3dbc-46ee-ac9d-75c19efe90c3_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_28124c9f-eb8f-4c21-ae93-bb04230c2632_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_4d3d9e4c-e569-44f6-9de2-0b51ca30b4d9_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value, 12 months or greater</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_07f32111-f423-472d-bf2a-f32a815c67f8_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValueOutstanding_d02b5b76-e18e-48e6-be30-f0a2fd21b8b3_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValueOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, $.01 par value &#8211; Authorized: 400 shares in 2022 and 2021, respectively; no shares issued and outstanding</link:label>
    <link:label id="lab_us-gaap_PreferredStockValueOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockValueOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValueOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValueOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValueOutstanding" xlink:to="lab_us-gaap_PreferredStockValueOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_58ae83f2-30e3-41e1-b489-c82f14717203_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2434a0f1-f6a6-488c-ad67-21a54cefe6c4_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostGross_dbf9ba00-4627-4a5d-b812-00055d7adcc4_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs to fulfill contract</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostGross_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostGross" xlink:to="lab_us-gaap_CapitalizedContractCostGross" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment_5f15a6b7-4427-439f-935c-2a01631d20b8_terseLabel_en-US" xlink:label="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment_label_en-US" xlink:label="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment</link:label>
    <link:label id="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment_documentation_en-US" xlink:label="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" xlink:href="cgnx-20220703.xsd#cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" xlink:to="lab_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_bf6055da-826c-474c-8513-f05a7a8ce031_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_04ddb715-aeed-4ae1-892b-062294ee867d_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning Balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_739f4168-892e-41ad-898d-383a48e6a004_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending Balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_ca020f19-cda2-4dee-b228-70fc0daeb243_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_5fb61be5-e31c-4b6a-b249-758857d55b66_terseLabel_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax years open to examination by various taxing authorities for other entities</link:label>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_label_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Examination Years Under Examination Other Entities</link:label>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_documentation_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The tax year(s) being audited in connection with the income tax examination for other entities.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:href="cgnx-20220703.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:to="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_7c2bfc3f-cba4-4e6b-8ba1-ee35d24f9b95_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited or expired (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_ed28cddd-853e-4ac5-a691-488b5f9f6edf_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt securities, available-for-sale, allowance for credit loss</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_0d68bf68-cc3f-4ff4-903c-9fdaa21e8179_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_884b2159-5863-4b4f-9138-b6e95a3a12d1_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_549aa3d5-4a90-44c2-885a-5911f4f5a2f2_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_a3047325-346a-4684-97e6-9b70889c49ca_terseLabel_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity and Share-based Payments</link:label>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity and Share-Based Payments [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_f733eded-efa5-4caf-a9d0-8c79fa72b1f5_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expenses and Other Current Assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_d1596a99-2e47-459f-a140-2a19a8264057_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">3-4 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_2563a694-0d92-4e86-a803-9a93cb7fd92d_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_661d6de3-a980-4fc3-99f3-cd336c155fd5_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_7e915fc8-4eba-4f52-b318-380bb9954ba7_terseLabel_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard products and services</link:label>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_label_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Products and Services [Member]</link:label>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_documentation_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Products and Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_StandardProductsandServicesMember" xlink:href="cgnx-20220703.xsd#cgnx_StandardProductsandServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StandardProductsandServicesMember" xlink:to="lab_cgnx_StandardProductsandServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsLineItems_43094d41-d8ac-4e7c-9566-adef63d67039_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Line Items]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsLineItems_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems" xlink:to="lab_us-gaap_CashAndCashEquivalentsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_1b1ec823-82fc-4f19-be5b-91ac1e8a5925_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_b86d5b4a-3844-41eb-8ffd-61d32886ebd1_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_0a562faa-1394-4e0f-af5d-75e74bc289da_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_7fd5903f-fbf9-47e6-80ef-8aecfe2787d4_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market instruments</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:to="lab_us-gaap_MoneyMarketFundsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_e0879df9-89ed-4bd6-adb9-96e67141b714_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_f116c509-f3db-4006-bb0d-43520117c056_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_a6978e96-5af8-4dfd-a15d-a10ef78bc300_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares available for grant under stock option plans (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_f699e9b6-2ff8-4d1f-b3a5-289e36b309ed_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Nonvested Restricted Stock Units Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_dca09627-903d-492b-ab28-c276cbf75178_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_0a58d754-b8bc-40d7-8640-cd057bba68bf_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_8c5558cc-09bc-49d8-be83-cb8dee36a6f4_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Nonvested Performance-based Units Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Nonvested Performance-Based Units Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_090806a3-952f-4c25-97ae-0f87696a11ce_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_3d5f0c46-438c-4af8-80ab-b4bcc334c741_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average period to be recognized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_label_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</link:label>
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:href="cgnx-20220703.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:to="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_ebfb87ed-ae0c-444c-ba73-4b4073cf9891_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_4a2788be-943f-48c3-b943-16a15ad70cb9_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_89f1b8b6-110d-4e64-98d5-a1f19d1f52ad_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_label_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unbilled Receivables, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledReceivablesCurrent" xlink:to="lab_us-gaap_UnbilledReceivablesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_105bf5ae-f8de-4a58-abb8-55b7c2463215_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_88cb9b1e-2dde-4a75-a654-6730422101d1_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Geographic Areas</link:label>
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Geographic Areas [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:to="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_ef2bca01-61d5-4870-aacf-d6f6e20c74d4_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_1a423b6a-4776-4233-bb85-3cc4f93b8e58_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective tax rate excluding discrete items (as a percent)</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashEquivalentsAtCarryingValue_1cea72c1-f64b-475d-ac6a-ce37a2a7e81a_terseLabel_en-US" xlink:label="lab_us-gaap_CashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury bills</link:label>
    <link:label id="lab_us-gaap_CashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_143f0ba9-6331-43dc-b938-a07032423cea_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, allowance for credit losses of $741 and $776 in 2022 and 2021, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_4dc16908-a9c5-4ba9-a8e7-095b1450b11a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_bb3714e5-8a9a-4fa4-a902-611f1faa2e50_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TrademarksMember_0fd317cf-f676-4afb-a35e-8fb43a9ff631_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks</link:label>
    <link:label id="lab_us-gaap_TrademarksMember_label_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TrademarksMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksMember" xlink:to="lab_us-gaap_TrademarksMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_0f5bd321-85b8-45c6-89fe-60ab748ad9cd_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurements, Recurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_4ce13387-8074-4d9d-97f2-c64ff613cad8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_a700ca68-abcf-416f-bc2e-e6284bd67d4c_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value, less than 12 months</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_8e2e9950-e762-463c-9edb-97c119742a2c_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_61be6fcb-6c5d-4f55-bb1b-853bcf64fd98_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_b259e910-da9f-48d1-9bb6-912a8a1b0d00_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_3c0c3970-e016-4dd3-8338-44b2384df9f7_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Service Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsTotalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsTotalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsTotalMember" xlink:to="lab_us-gaap_CostOfGoodsTotalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a1fbdcd9-d929-4f62-92f1-d08f997d0d5b_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested as of Beginning of Period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_346a73b3-e87d-428e-bbae-94d68b2460cd_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonvested as of End of Period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredRevenueAdditions_b8b71fff-17c5-4126-8260-986a6b9bd3ea_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueAdditions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferral of revenue billed in the current period, net of recognition</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueAdditions_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueAdditions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, Additions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueAdditions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueAdditions" xlink:to="lab_us-gaap_DeferredRevenueAdditions" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_c45cb87b-0ba7-4d0c-b38d-cd847b94e0aa_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated annual forfeiture rate for unvested options for senior management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated forfeiture rate for unvested options for senior management.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:href="cgnx-20220703.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_ef0a1b5d-ea69-46b7-90c0-38cb87a8f806_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_82c360d5-dafe-494f-93a6-65a90b4460d8_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_2ff7e291-aed9-4edb-a0dc-d9ef4b727896_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredRevenue_91e58d31-d6d6-4633-bfee-926073425e99_periodStartLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2021</link:label>
    <link:label id="lab_us-gaap_DeferredRevenue_300e2e03-dd67-4850-8bf3-da4df1187c7d_periodEndLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of July 3, 2022</link:label>
    <link:label id="lab_us-gaap_DeferredRevenue_label_en-US" xlink:label="lab_us-gaap_DeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenue" xlink:to="lab_us-gaap_DeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_CAD_8224d778-7e11-416e-8ffe-a7fe22289105_terseLabel_en-US" xlink:label="lab_currency_CAD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canada, Dollars</link:label>
    <link:label id="lab_currency_CAD_label_en-US" xlink:label="lab_currency_CAD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canada, Dollars</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_CAD" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_CAD"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CAD" xlink:to="lab_currency_CAD" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_b3336b81-2156-418e-968f-3ec8d4d08fda_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillDisclosureTextBlock_95d0bf98-1275-4194-bea9-8ca0b24a33c5_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_42e1803f-234a-4df0-919e-5e0571fbdfd4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_2396e16c-f001-4c69-a291-ca3fd0093a7b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_267940d9-aaea-4a2d-9111-fc39e82b2538_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_611df0c0-682f-4edb-b922-856597714ed4_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_a354d173-daca-4bc5-83d1-6d79ec2fb905_terseLabel_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General, and Administrative</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_label_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling General And Administrative [Member]</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_documentation_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember" xlink:href="cgnx-20220703.xsd#cgnx_SellingGeneralAndAdministrativeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SellingGeneralAndAdministrativeMember" xlink:to="lab_cgnx_SellingGeneralAndAdministrativeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredRevenueRevenueRecognized1_817f96e6-eefb-4d2f-94fa-13579d3911e1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueRevenueRecognized1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recognition of revenue deferred in prior period</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueRevenueRecognized1_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueRevenueRecognized1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueRevenueRecognized1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="lab_us-gaap_DeferredRevenueRevenueRecognized1" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_3a929321-b988-4813-b47a-b9e038c92a37_totalLabel_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_label_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Cash Equivalents Short Term And Long Term Investments</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_documentation_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents, short term and long term investments.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:href="cgnx-20220703.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:to="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_19bc25a7-bd19-4e1f-af35-9353bd93e63b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest, outstanding, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_f7a670a1-3cd6-41b1-8aac-b05a3f4fbdf7_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCountryMember_74a9aca3-d331-48c2-a9fc-25dc4c17288f_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember" xlink:to="lab_us-gaap_ForeignCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_bad7fc4b-a4dc-483b-897f-aaa52fe581e9_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_c3b65d27-03eb-4b97-80e1-811498aa67cd_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_69639dde-2725-44ee-b770-b8ad1e8d69fe_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:to="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_324066cd-c47f-4ef7-87e2-549829480ddd_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_251188ce-116c-4082-b803-02f4d509c3a4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_0b63429f-9535-43c9-a04d-2b78e53e1479_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_KRW_0e00e2b0-d3a2-4ebb-90df-f0082f720a9d_terseLabel_en-US" xlink:label="lab_currency_KRW" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Korean Won</link:label>
    <link:label id="lab_currency_KRW_label_en-US" xlink:label="lab_currency_KRW" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Korea (South), Won</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_KRW" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KRW"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_KRW" xlink:to="lab_currency_KRW" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_84032790-9b1b-4bc2-9e34-2e57b16f2b68_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_dcb5cc0d-1f55-46f0-9477-bcbf567cc6a3_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_4f84906e-42f3-4341-be93-1a672198980d_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_20e2a6ec-e24e-46af-9674-8fe272d27748_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2021</link:label>
    <link:label id="lab_us-gaap_Goodwill_2a741623-3ef9-491b-84d2-11ccd7930799_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of July 3, 2022</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5486578b-a2b0-4714-8d82-4635294f578f_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_c13074a6-a61c-4206-ac2f-2973bd34cdf5_terseLabel_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_label_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_documentation_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:href="cgnx-20220703.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:to="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_f5445928-a109-40fe-af98-2c86e47ce457_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_9c60c15d-c11f-4abd-aafb-4d423bd988a1_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_d8763eff-c66a-4393-92ab-5465562112b2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_1e4a9b13-b91f-4b54-9ec3-1f1517623783_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_5376db0c-0650-4b7a-a642-f02fd6798928_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0f8e9c48-dcd8-4028-af6a-420af8bd4858_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_e60f09d0-3fb7-412e-9d55-18346793d29b_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_120fec6c-0538-41fe-82ad-dda475c8b864_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_1631a9ba-7fba-4dd8-92ea-e4b9121a0733_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_HUF_51219adb-9037-4b5d-8daf-e22c14320f39_terseLabel_en-US" xlink:label="lab_currency_HUF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hungary, Forint</link:label>
    <link:label id="lab_currency_HUF_label_en-US" xlink:label="lab_currency_HUF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hungary, Forint</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_HUF" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_HUF"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_HUF" xlink:to="lab_currency_HUF" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_5389612a-a36e-44bd-8d73-88f33398a9fb_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_782ea20b-7855-49b4-a939-9e3b0f88da28_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain" xlink:to="lab_us-gaap_BalanceSheetLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_bbb3bd62-ddaa-493b-ac1f-ccd2d52e1263_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_caaecf3b-f8d8-4a45-8e77-2ccb64060d86_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeLineItems_c56d03e1-c13b-4178-bfa4-7fef8bfddfe6_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeLineItems_label_en-US" xlink:label="lab_us-gaap_DerivativeLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLineItems" xlink:to="lab_us-gaap_DerivativeLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6f44dc57-c71d-4fd0-a065-21358bca60a9_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6a23b05c-8ed4-4c7f-bbee-0fee8b86b489_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeLiabilities_f0e7391b-6003-4c07-a902-90df3fe041f7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative liability</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilities_6dff4145-b9b2-488c-b206-a164353585a4_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net amount of liabilities presented</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilities_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities" xlink:to="lab_us-gaap_DerivativeLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_d834487f-d61f-406b-8a4b-959835b68a76_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventories</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_0430919e-9b9c-41a9-8f32-92fcd688e3c9_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross amounts of recognized liabilities</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Liability, Subject to Master Netting Arrangement, before Offset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_7020f443-e907-4365-8591-37b78b8dd565_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_a6d245c8-5d6f-4a1b-96a5-bc8eee5c7f7b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_8e2a0f46-f037-492e-b262-636242cd4883_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_3085b1c4-5c6a-4446-9f9a-0b6966450daf_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_f590633d-90c7-4b8c-8275-993a2c71e51d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash dividends per common share (usd per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Dividends, Per Share, Cash Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareCashPaid" xlink:to="lab_us-gaap_CommonStockDividendsPerShareCashPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AccruedExpensesMember_8b6b73e7-b752-42b2-a56c-fac82b354e8b_terseLabel_en-US" xlink:label="lab_cgnx_AccruedExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_label_en-US" xlink:label="lab_cgnx_AccruedExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses [Member]</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_documentation_en-US" xlink:label="lab_cgnx_AccruedExpensesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AccruedExpensesMember" xlink:href="cgnx-20220703.xsd#cgnx_AccruedExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccruedExpensesMember" xlink:to="lab_cgnx_AccruedExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_87264c2b-6983-4162-9314-67ffe9fe9cd8_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Intrinsic Value (in&#160;thousands)</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_5b02f935-4de1-42ce-a2e2-5aeb716e946f_terseLabel_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Forward Contracts Table</link:label>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_label_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Forward Contracts [Table Text Block]</link:label>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_documentation_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding forward contracts table.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock" xlink:href="cgnx-20220703.xsd#cgnx_OutstandingForwardContractsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OutstandingForwardContractsTableTextBlock" xlink:to="lab_cgnx_OutstandingForwardContractsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_59d0d541-e44c-4509-93b5-80078d53419b_verboseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provisions for warranties issued during the period</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c1665475-648f-4c46-94f7-36d53600f5bd_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_d5c95149-90c9-4e4d-8697-74c515d9dd00_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated annual forfeiture rate for unvested options for all other employees</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For All Non Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated forfeiture rate for unvested options for all non-senior management.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:href="cgnx-20220703.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_394cbd97-9426-4b95-a32d-cc48be79cab7_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">1-2 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_8e9ba8d0-f677-4777-8042-4de9757c4227_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets and Liabilities Measured at Fair Value on a Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_720a4620-13d1-4b8a-9fa5-592304af6dcd_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserve for income taxes</link:label>
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_ac19bd8f-eddf-4adb-b999-75e8100686f1_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserve for income taxes classified as a noncurrent iability</link:label>
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_label_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_58976b1c-0e3a-47ad-ba74-eb58739d5de4_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_b51341e4-e89d-4569-9c00-6e646071b864_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_703a14e5-9a5f-4885-9c20-a2e00902d4d4_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_497b810d-c1aa-4edb-ba6c-40b05a4ec4ed_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_GrossLossFromCatastrophes_d7819276-c399-4377-ab86-56985da47c77_terseLabel_en-US" xlink:label="lab_cgnx_GrossLossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross loss from catastrophes</link:label>
    <link:label id="lab_cgnx_GrossLossFromCatastrophes_label_en-US" xlink:label="lab_cgnx_GrossLossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Loss from Catastrophes</link:label>
    <link:label id="lab_cgnx_GrossLossFromCatastrophes_documentation_en-US" xlink:label="lab_cgnx_GrossLossFromCatastrophes" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Loss from Catastrophes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_GrossLossFromCatastrophes" xlink:href="cgnx-20220703.xsd#cgnx_GrossLossFromCatastrophes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GrossLossFromCatastrophes" xlink:to="lab_cgnx_GrossLossFromCatastrophes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_37aedb97-9704-44e0-87cf-76a4d9d2a612_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_8fc761e1-0684-4873-9e45-8540a2106a8f_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_dc9fba4c-2863-4a6c-980f-97bac2dc0f55_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_ec696c84-e79e-4cbd-97c9-f003e3d063e4_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_0fc5e685-849c-4adf-8c1f-08772cefd69a_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_08983736-f228-467e-9b5e-91ed8752e159_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning Balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_2753741a-d9d2-4b1b-a87b-dbdf45d1c12b_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending Balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments_bcaacfed-e4ba-433a-b8cf-21564add41e9_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in tax expense related to transfer pricing and return-to-provision adjustments</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_e6643cb0-95e9-4f58-9e95-d1f45c48b597_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested or expected to vest, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_ad3d7f4e-992e-4be0-b710-792b440d806c_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1de4dbb1-16c0-4ae1-abd2-ee2d72e6c10c_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency gain (loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_e2e0a3ed-19c8-4399-9370-57beee6f9c5a_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_de623397-ea6b-449b-9872-eaea8b062351_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_ee1ec6f8-6797-424b-ae0b-1a6660822f38_totalLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total fair value</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Unrealized Loss Position</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_ff74d0da-e347-4236-b82a-f97d4e51a0a8_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_6d585cc6-c356-4357-83eb-913d696139e9_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_country_KP_7cfb7764-2480-4e70-a2de-de307e5601fc_terseLabel_en-US" xlink:label="lab_country_KP" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF</link:label>
    <link:label id="lab_country_KP_label_en-US" xlink:label="lab_country_KP" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_KP" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KP"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_KP" xlink:to="lab_country_KP" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_ca7baed8-3b4d-4e45-9e44-2faf7b1f85bc_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentTypeAxis_419b25f2-1fb1-4e5f-ad53-dd38eef8a60f_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeAxis_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeAxis" xlink:to="lab_us-gaap_InvestmentTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_a935c956-5e7e-4229-9d4a-51d36dd372ad_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_d836c40a-05c4-4399-b103-ad1e1eda69e1_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_7ff579a6-5b68-4359-98db-982c92526090_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (decrease) to compensation expense</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_label_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_documentation_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:href="cgnx-20220703.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:to="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_2ead1c33-285a-4fef-bb7d-0244e0671518_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross unrealized gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_dde2c235-30be-44f2-8b6e-d6f4720fa298_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_a0315f79-d36c-49cc-907b-5e4dbcc18e7e_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_9e860efc-d127-4bdc-be78-b894e96d39e8_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Taxes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_ad6ca702-08be-4d22-a77c-1caebaface01_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_1ceea14e-542e-46d0-8309-c2f7c75bbace_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted- Average Remaining Contractual Term&#160;(in&#160;years)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_17618f15-f5c3-475b-bc14-b3fe26fdb2ee_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable as of reporting date, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInDeferredRevenueRollForward_de815e78-b00d-4f45-816a-55eacff9f812_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInDeferredRevenueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Deferred Revenue [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInDeferredRevenueRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInDeferredRevenueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Deferred Revenue [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInDeferredRevenueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInDeferredRevenueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward" xlink:to="lab_us-gaap_MovementInDeferredRevenueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_18122dbf-c26d-41c2-a794-c28755db0eb4_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_CNY_e8aad752-a9eb-49d7-83bf-426b5ded5dcb_terseLabel_en-US" xlink:label="lab_currency_CNY" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">China, Yuan Renminbi</link:label>
    <link:label id="lab_currency_CNY_label_en-US" xlink:label="lab_currency_CNY" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">China, Yuan Renminbi</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_CNY" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_CNY"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CNY" xlink:to="lab_currency_CNY" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_f989ce78-3e6f-4b58-8073-0ee8ac2a9442_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statutory tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_61f61906-d1b5-4779-9864-b1587e420efc_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">4-5 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_aff81ea2-7da1-470a-b275-78a5ece265e2_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term of contract</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeTable_92d89df7-3e80-44f4-a16f-81f27777c45c_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeTable_label_en-US" xlink:label="lab_us-gaap_DerivativeTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTable" xlink:to="lab_us-gaap_DerivativeTable" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_9b7e72e1-8e32-444e-bdd3-b8e24f62b711_terseLabel_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General Stock Option Plan</link:label>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_label_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General Stock Option Plan [Member]</link:label>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_documentation_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General stock option plan.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_GeneralStockOptionPlanMember" xlink:href="cgnx-20220703.xsd#cgnx_GeneralStockOptionPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GeneralStockOptionPlanMember" xlink:to="lab_cgnx_GeneralStockOptionPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_a2052c07-05a9-42b3-9063-f3b3b33f3849_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2ee25c75-2112-4115-9cc9-a579b0d6bbc8_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_0812d1c6-be53-47e8-9e2f-9483e6fa3839_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_077a2f53-3374-4b79-96a5-3e4769c5519a_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of foreign exchange rate changes on cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_c03da3cb-19d9-4496-8582-f4bfd6bf10ae_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_633021d4-f6ab-4920-ba23-a14690ab0a83_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CurrencyAxis_2da6a7d4-89a0-4495-b8e6-438dc643a00c_terseLabel_en-US" xlink:label="lab_srt_CurrencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Currency [Axis]</link:label>
    <link:label id="lab_srt_CurrencyAxis_label_en-US" xlink:label="lab_srt_CurrencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Currency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CurrencyAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CurrencyAxis" xlink:to="lab_srt_CurrencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_f12663e5-7284-4d23-9a89-851a162793dc_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, payments</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9f338d7f-1031-4b51-80bb-33dc2bff11f0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Intangible Assets, Future Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_14407aec-689e-44cc-a423-4b662462fc56_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Option</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_586e5840-f2f1-4464-bee6-e82982134e5e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_82530abc-a96e-4d4e-b03f-f8e2684977a4_terseLabel_en-US" xlink:label="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_label_en-US" xlink:label="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, Foreign Currency Exchange Adjustment</link:label>
    <link:label id="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_documentation_en-US" xlink:label="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, Foreign Currency Exchange Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:href="cgnx-20220703.xsd#cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:to="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetRentableArea_32ac9605-0b99-4e41-ab93-76fcdd367f32_terseLabel_en-US" xlink:label="lab_us-gaap_NetRentableArea" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rentable area</link:label>
    <link:label id="lab_us-gaap_NetRentableArea_label_en-US" xlink:label="lab_us-gaap_NetRentableArea" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Rentable Area</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetRentableArea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetRentableArea"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetRentableArea" xlink:to="lab_us-gaap_NetRentableArea" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8cd28468-77a3-48ab-8e7a-724e556a5191_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses, current</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_056c3755-9f44-41bf-8756-9e580c5cabbc_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_b7b9bd5a-83a7-4478-baf1-54a713cecf9f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited or expired (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_645058f6-384b-4479-bf36-b83e80f9fa79_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (expense)</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_396a9409-b6b4-4a4d-a974-f004cb714203_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis" xlink:to="lab_us-gaap_BalanceSheetLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_d15d4b54-0861-45b9-949c-c8a4458cd66d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_34f53bad-4480-4b91-b8a7-511975c22180_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Income Taxes, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_f29a2856-4a70-4ce2-8833-7a4e38aa3af3_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_4d68d72e-9799-432e-969b-0d21858afcba_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_bb8ca950-15c3-41b1-96e8-fff5ea87b6ae_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_fd7fe45c-dea9-4a83-98d3-4acccbad44b6_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_4aacb066-0425-40fa-9bda-b9995265264f_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_685a8fcf-3e90-4dc8-a94e-487978fa88d8_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_a3465c28-ee08-488f-b35b-a67e8d7a17df_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_999f9320-e16e-4214-9e90-5e4b01c45152_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_cfd17805-6328-4086-9721-4c983c7bd08b_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_dcc5ae18-1f40-4156-92e6-eac3fad57287_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_4e760341-42cd-4623-9e51-d2809121c399_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_3cea424a-71a3-41a1-8337-414adf00171c_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareDeclared_01dfc73b-3b52-4081-9e28-0c820e7433a7_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareDeclared" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareDeclared_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareDeclared" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="lab_us-gaap_CommonStockDividendsPerShareDeclared" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_36c0bbea-d0a0-4d17-ae23-8cccd1b82d73_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net issuance of common stock under stock plans (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_b5b61c20-4889-42c4-9040-a771f0ca1dfd_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_eb639af6-e0d0-43fb-b13e-0beac282bf92_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_c85be7d0-d682-4176-aeea-b1e1099c3141_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_d301659c-87ed-4367-9f60-b9b208a30740_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_337c366e-b4fb-45fb-906d-f08e4d929ec4_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding forward contracts</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset, Notional Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetNotionalAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetNotionalAmount" xlink:to="lab_us-gaap_DerivativeAssetNotionalAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_dcde0a9b-9b24-41b9-a58f-8dc9f246d0dd_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares (in&#160;thousands)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08979494-4a4e-4c45-9fdd-307f7e4c0ac1_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax benefit from compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense, Tax Benefit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_6260846d-430e-46dc-88ee-faf879ed980e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, in dollars</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DistributionRightsMember_ccf8a33a-039d-4d31-9071-d92499032f39_terseLabel_en-US" xlink:label="lab_us-gaap_DistributionRightsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distribution networks</link:label>
    <link:label id="lab_us-gaap_DistributionRightsMember_label_en-US" xlink:label="lab_us-gaap_DistributionRightsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distribution Rights [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DistributionRightsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DistributionRightsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DistributionRightsMember" xlink:to="lab_us-gaap_DistributionRightsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_d04c63e8-c73f-4080-a5a4-54e3cc609854_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_9e550e21-3691-4f12-a92b-f6a788508362_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_4b2485c7-8f8b-483a-afcd-1d481712b302_terseLabel_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_label_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components Of Cash Cash Equivalents And Investments [Table Text Block]</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_documentation_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of cash cash equivalents and investments.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:href="cgnx-20220703.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:to="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_cd79cdc1-5637-4fc9-8036-986cfec12f7d_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maturities and sales of investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale, Maturity and Collection of Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:to="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_7b9bcc1d-bc09-4db8-8d64-29a5e6e360e6_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Treasury Stock [Table]</link:label>
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_label_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Treasury Stock [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable" xlink:to="lab_us-gaap_ClassOfTreasuryStockTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_49db53a2-7c6f-4bc8-a20d-17df7b27e670_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems" xlink:to="lab_us-gaap_SubsequentEventLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_d6123f75-cb33-45c9-8db2-bea021e2e8b0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_ae904474-cd42-4646-8db7-aedecde832ad_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:to="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_12987fa4-f910-4254-9393-230403ee4ce0_terseLabel_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Option to renew, term of contract</link:label>
    <link:label id="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_label_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Option to Renew, Term of Contract</link:label>
    <link:label id="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_documentation_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Option to Renew, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" xlink:href="cgnx-20220703.xsd#cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" xlink:to="lab_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_69f76932-e194-42aa-92c2-d9e7c2c68092_negatedLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized losses, less than 12 months</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_8b40d4a3-ac49-4f83-a0c2-01db763d3ab0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liability</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_9892a495-6ae4-430c-b213-b04ea41faff0_negatedLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of discounts or premiums on investments</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease_eb0e708c-f673-4f96-89b2-61629b0cd7df_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit loss on investments</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_7a0f16d2-8795-47a1-acb1-45731ef2a8d5_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in tax expense related to stock-based compensation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_61b85254-ebcc-4e35-9b2c-3e295fe10946_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gains (losses) recognized in current operations</link:label>
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_label_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeGainLossOnDerivativeNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNet" xlink:to="lab_us-gaap_DerivativeGainLossOnDerivativeNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_7d21c729-c4f8-40d1-bad5-08ac7839e8e0_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_8cc33e42-9398-40d7-b731-821747ea38b2_negatedLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized losses, 12 months or greater</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_a11acff0-2722-4af5-bf24-6f6cdd66d196_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_2ab216d2-ad85-4a42-881f-3606d6714249_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net change related to foreign currency translation adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_c787e258-f88e-46e6-9903-fc6e39271f90_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Bills</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember" xlink:to="lab_us-gaap_USTreasurySecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_a3745430-1269-4ab9-8d11-cff4a09af597_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_a1167018-92f1-42ea-80ee-6253ca635089_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_645fe356-8cc9-4bba-b500-fe759ad4abf0_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_a0eadc31-71c3-428f-bb3c-0631f905307f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited or expired, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_c4edd528-feda-46f4-95f1-69e729972253_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_0e20c0e5-d49a-4f66-b9d6-4253b9276e7a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_8869223e-ba53-46f4-8458-c85ba32db432_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_1d3d93d9-a3dd-43f0-803f-eddd257763da_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_03e76c7a-7069-42dc-99fd-8876ad433c34_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax:</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_faf1cb36-c739-4c87-8021-c9479b754d8e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_cb1e31d9-d1d0-4d07-97c5-b6c8252a4ccc_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested or expected to vest, in dollars</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_1670b77e-41cb-41d7-bdd8-1afe880f2ca8_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Maturity Dates of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_c849c692-03e2-447b-b49a-66e91e05c54c_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis" xlink:to="lab_us-gaap_HedgingDesignationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_fe61fcd3-1530-4a43-9116-5b82557bdbb1_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_87e88dea-02c0-4e84-9a9e-a326142c212b_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_68283076-9314-4285-a174-99f4dd723c7f_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_f9dc28a5-ba45-4584-a4ff-d0ef5f6b4b59_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic weighted-average common shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_2328dc9f-57c4-4e1b-9b8c-4b34992d2ecc_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:to="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_c4ae48d5-c7bd-42a3-a8c4-7b6ff11b1c11_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_8b8a4e14-82fb-4ee7-9ea4-ee947a5c04e3_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_90f62352-fdb0-44d3-a5bf-9f84093f9d7d_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_74ee7367-7dcc-40ee-b032-148ed24abae1_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockOptionPlanExpense_84edd4d0-1ad1-4eaf-812c-c9c83a2deeb4_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_StockOptionPlanExpense_label_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionPlanExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionPlanExpense" xlink:to="lab_us-gaap_StockOptionPlanExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnDispositionOfAssets1_e40021e4-2428-4fb1-851c-9fe8e5622303_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnDispositionOfAssets1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss (gain) on disposal of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_GainLossOnDispositionOfAssets1_label_en-US" xlink:label="lab_us-gaap_GainLossOnDispositionOfAssets1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnDispositionOfAssets1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnDispositionOfAssets1" xlink:to="lab_us-gaap_GainLossOnDispositionOfAssets1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_2a869063-ae2a-4c46-a2b6-af2247ec4bd9_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_RepurchaseProgramMarch2022Member_9093aa60-b526-425f-9ca0-f7ba3591554f_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramMarch2022Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase Program March 2022</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramMarch2022Member_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramMarch2022Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase Program March 2022 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramMarch2022Member_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramMarch2022Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase Program March 2022</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_RepurchaseProgramMarch2022Member" xlink:href="cgnx-20220703.xsd#cgnx_RepurchaseProgramMarch2022Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramMarch2022Member" xlink:to="lab_cgnx_RepurchaseProgramMarch2022Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_cd929eb9-ac64-4cdf-a4a8-a863fdc62459_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_657622e8-ff52-45a3-9e69-0dc664004175_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_4b03fdb1-ab19-4260-9ab6-f6d329229895_terseLabel_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expiration period from grant day</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_label_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expiration Period Of Stock Option Plan</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_documentation_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expiration period of stock option plan.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan" xlink:href="cgnx-20220703.xsd#cgnx_ExpirationPeriodOfStockOptionPlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ExpirationPeriodOfStockOptionPlan" xlink:to="lab_cgnx_ExpirationPeriodOfStockOptionPlan" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_2943462b-3aca-4aab-af18-ab155a1df5dc_terseLabel_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustments:</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_label_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Currency translation adjustments [Abstract]</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_documentation_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Currency translation adjustments [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract" xlink:href="cgnx-20220703.xsd#cgnx_CurrencytranslationadjustmentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract" xlink:to="lab_cgnx_CurrencytranslationadjustmentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_46a28e01-613b-41af-9127-f1e6409f2c64_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_c1e7a2b8-9c2d-4850-8a78-33b9e9539e93_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unobservable Inputs (Level 3)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_70e17c6f-fcd9-4ea0-ae83-a30f7e260fc1_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_162dae2c-450c-4a07-bec3-1a72b000f871_periodStartLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2021</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_f488dc4a-4fd0-4d5a-9cef-705c714f2fef_periodEndLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of July 3, 2022</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_8395ef06-d2be-4bac-b70f-52fec7809d74_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Work-in-process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_039d165e-d361-4f72-be6a-8b7e2c56c363_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in deferred income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_829785ac-e678-490e-9605-73ac41f0b2d7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_57d4ad44-a77c-41fc-9233-12676c5e2120_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_e2c9a06b-c35e-467c-ab0a-b96e99869a75_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments [Domain]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember" xlink:to="lab_us-gaap_InvestmentTypeCategorizationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dd2f5267-c2b7-4004-8f72-96fd4a3bb10e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_635968de-1c04-4349-91f1-0e6b6cbef393_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and shareholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillRollForward_398da5a3-6493-4146-9673-5aee2221ca31_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward" xlink:to="lab_us-gaap_GoodwillRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestReceivable_2e6999dc-b855-4d47-b1d7-31f8151ff98e_terseLabel_en-US" xlink:label="lab_us-gaap_InterestReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued interest receivable</link:label>
    <link:label id="lab_us-gaap_InterestReceivable_label_en-US" xlink:label="lab_us-gaap_InterestReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestReceivable" xlink:to="lab_us-gaap_InterestReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_7dc2ac2c-1917-4c0d-b726-2270aa92c0ff_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining authorized repurchase amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Cash_51dca2fe-add1-492e-870b-5dc8d8fb2e97_terseLabel_en-US" xlink:label="lab_us-gaap_Cash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_Cash_label_en-US" xlink:label="lab_us-gaap_Cash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash" xlink:to="lab_us-gaap_Cash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_3222b5ca-b7c9-44a1-b0fa-91241d835436_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per weighted-average common and common-equivalent share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_59c1ee7d-7b9b-4eb2-8fa7-eb14b4bd2d6e_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NondesignatedMember_628b82aa-664b-4e49-bf97-420fef3f0d4e_terseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Not Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_NondesignatedMember_label_en-US" xlink:label="lab_us-gaap_NondesignatedMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NondesignatedMember" xlink:to="lab_us-gaap_NondesignatedMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_e8e85426-4f30-4545-a899-550ffa673441_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_e316ad87-9a91-4624-b8fa-65019cad4ea4_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Other Observable Inputs (Level 2)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_2734816f-6893-4a23-9afe-26dffc6fc7c0_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireInvestments" xlink:to="lab_us-gaap_PaymentsToAcquireInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_3a9c3f92-4340-4899-89c6-b10d262811d4_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_c6689f35-def3-40f4-a0bc-74bfd5994ae2_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross realized gains on sale of investments</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Realized Gain</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_LossFromCatastropheTextBlock_18979c6f-7010-446a-a118-e570faf7d3ad_terseLabel_en-US" xlink:label="lab_cgnx_LossFromCatastropheTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from Fire</link:label>
    <link:label id="lab_cgnx_LossFromCatastropheTextBlock_label_en-US" xlink:label="lab_cgnx_LossFromCatastropheTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss From Catastrophe [Text Block]</link:label>
    <link:label id="lab_cgnx_LossFromCatastropheTextBlock_documentation_en-US" xlink:label="lab_cgnx_LossFromCatastropheTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss From Catastrophe</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LossFromCatastropheTextBlock" xlink:href="cgnx-20220703.xsd#cgnx_LossFromCatastropheTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LossFromCatastropheTextBlock" xlink:to="lab_cgnx_LossFromCatastropheTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_d9a58ba7-a1c5-46ba-8873-40c509f0138b_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_4886cf7f-7170-4bd6-bb61-80fe8b1d302a_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_2dcff32a-fed7-45a9-8995-55a183e4e684_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period for stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent_81f8ef38-18d5-4339-9635-1d273a75d752_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized cost of non-current investments</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Amortized Cost, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_0284bcd2-f74d-46ff-b2b2-a895631e2991_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_5ca2f93f-e915-40f4-a59e-37b713c8af7e_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DividendsCash_de11a354-3850-4570-9e16-d46c53a0d65f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DividendsCash" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_DividendsCash_label_en-US" xlink:label="lab_us-gaap_DividendsCash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends, Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DividendsCash" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsCash" xlink:to="lab_us-gaap_DividendsCash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_6953309c-8b4f-4a0c-9fc7-7a4c7977d39c_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_3ce0f023-4640-4cec-a4a1-293b1f813416_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Available-for-Sale Securities [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_a45a3f13-884e-41b6-bc56-eef70bdb5785_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_321951ae-70a2-4c8e-be18-70cb1d9e870a_terseLabel_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_label_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_f7e24c34-6720-4c67-b6c6-03741d8ecfaa_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options vested or expected to vest as of reporting date, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_dd88fc1a-32c4-4c48-8616-d6e2fb820885_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Allowance for Credit Loss Activity</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_AmericasMember_252cb3a8-734f-442e-854a-5b37b4a2dde9_terseLabel_en-US" xlink:label="lab_srt_AmericasMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Americas</link:label>
    <link:label id="lab_srt_AmericasMember_label_en-US" xlink:label="lab_srt_AmericasMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Americas [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AmericasMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AmericasMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_AmericasMember" xlink:to="lab_srt_AmericasMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_f29b6228-9d12-4d5b-9405-2235e392353a_terseLabel_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_label_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityClassOfTreasuryStockLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="lab_us-gaap_EquityClassOfTreasuryStockLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_15c1a472-f8ef-49fe-bff7-408988397798_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross amounts of recognized assets</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset, Subject to Master Netting Arrangement, before Offset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_191b617e-8b19-49ee-944e-717f2c3aba9b_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_b20e543f-610f-4034-8291-c8a473e4d8d3_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_4a7efb1e-028d-4b60-b630-3b072aeac8a0_terseLabel_en-US" xlink:label="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-lived intangible asset excluding in-process technologies</link:label>
    <link:label id="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_label_en-US" xlink:label="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]</link:label>
    <link:label id="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_documentation_en-US" xlink:label="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" xlink:href="cgnx-20220703.xsd#cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" xlink:to="lab_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_7ea09c56-64ac-4379-833d-33aa60bd56ef_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_1a157665-286b-41ba-af0c-1e971dfb3c6e_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_EuropeMember_c845277c-fe7f-464d-8cce-940a78ad42da_terseLabel_en-US" xlink:label="lab_srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Europe</link:label>
    <link:label id="lab_srt_EuropeMember_label_en-US" xlink:label="lab_srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Europe [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EuropeMember" xlink:to="lab_srt_EuropeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_7b07f3c2-df5b-4e7d-ab94-0e15fd73ec65_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_2c2396d3-7649-42b7-8a8d-96c697d15cb8_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_cd12e9b2-00fb-4914-8fb3-26011c22dda6_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recognized period costs capitalized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_label_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee service share based compensation recognized period costs capitalized amount.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:href="cgnx-20220703.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:to="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_2e71ee6c-a4b9-498f-8bcc-88cd6b044e08_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net unrealized gain (loss) on available-for-sale investments, net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_87eb636f-f519-41ac-a0dc-7cb18bc90c6e_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EstimatedInsuranceRecoveries_8bcfea8b-e474-4ca0-9a76-8baa322de789_terseLabel_en-US" xlink:label="lab_us-gaap_EstimatedInsuranceRecoveries" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated insurance recoveries</link:label>
    <link:label id="lab_us-gaap_EstimatedInsuranceRecoveries_label_en-US" xlink:label="lab_us-gaap_EstimatedInsuranceRecoveries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Insurance Recoveries</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimatedInsuranceRecoveries" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EstimatedInsuranceRecoveries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EstimatedInsuranceRecoveries" xlink:to="lab_us-gaap_EstimatedInsuranceRecoveries" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_aff8b08d-ec27-4baa-8d60-ac4805c71505_terseLabel_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTable_f46fa0cf-086c-47e3-b6c7-252f1b3fb943_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable" xlink:to="lab_us-gaap_SubsequentEventTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_020482aa-4a1b-4fc1-abf4-955a06d16b04_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_ce00e95f-edbc-42d8-a955-5fe0b5aa3a4c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_51eabce7-3898-436d-8fcb-3a9664117e07_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_87489743-02c9-4aca-b1d4-e2ef25434634_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_b19b0a9e-8ef7-4f6f-af08-2942eb1c1437_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_label_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesFairValueLineItems" xlink:to="lab_us-gaap_DerivativesFairValueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_RepurchaseProgramMarch2020Member_cd894df5-6247-4e74-9aae-45af66ebb87c_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramMarch2020Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase Program March 2020</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramMarch2020Member_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramMarch2020Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase Program March 2020 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramMarch2020Member_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramMarch2020Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repurchase Program March 2020 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_RepurchaseProgramMarch2020Member" xlink:href="cgnx-20220703.xsd#cgnx_RepurchaseProgramMarch2020Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramMarch2020Member" xlink:to="lab_cgnx_RepurchaseProgramMarch2020Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_a3275cf3-c49f-4fd0-93b9-792ffd459aa4_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:to="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRedeemedOrCalledDuringPeriodShares_8bf418b1-4652-437e-b108-74aa57dfe0a5_terseLabel_en-US" xlink:label="lab_us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares repurchased at cost (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRedeemedOrCalledDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Redeemed or Called During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:to="lab_us-gaap_StockRedeemedOrCalledDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_3c63ac2f-e394-4e44-bcd3-a8fe5fb540e9_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining maturity of foreign currency derivatives (up to)</link:label>
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_label_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum Remaining Maturity of Foreign Currency Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:to="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_65e2fd55-2475-410a-8ec0-a353f5d70e34_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_SouthboroughMassachusettsMember_826d0cd6-025c-4f2f-b138-520031f0b54d_terseLabel_en-US" xlink:label="lab_cgnx_SouthboroughMassachusettsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Southborough, Massachusetts</link:label>
    <link:label id="lab_cgnx_SouthboroughMassachusettsMember_label_en-US" xlink:label="lab_cgnx_SouthboroughMassachusettsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Southborough, Massachusetts [Member]</link:label>
    <link:label id="lab_cgnx_SouthboroughMassachusettsMember_documentation_en-US" xlink:label="lab_cgnx_SouthboroughMassachusettsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Southborough, Massachusetts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SouthboroughMassachusettsMember" xlink:href="cgnx-20220703.xsd#cgnx_SouthboroughMassachusettsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SouthboroughMassachusettsMember" xlink:to="lab_cgnx_SouthboroughMassachusettsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_e8f53ac8-347e-45e2-a71e-d63423059eb2_terseLabel_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total intrinsic value</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_label_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_documentation_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:href="cgnx-20220703.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:to="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_7b67c751-0f67-4a49-b2e7-a80cf644bc2e_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_d2755ae4-a4f3-429c-8c81-cb071e03e3e6_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remainder of fiscal 2022</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_d44b17c4-79e6-4a36-a434-8bf2b0f6300a_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_AgencyBondsMember_051f1268-242d-4c7d-8a1b-239791ab3654_terseLabel_en-US" xlink:label="lab_cgnx_AgencyBondsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency Bonds</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_label_en-US" xlink:label="lab_cgnx_AgencyBondsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency Bonds [Member]</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_documentation_en-US" xlink:label="lab_cgnx_AgencyBondsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agency bond.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AgencyBondsMember" xlink:to="lab_cgnx_AgencyBondsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d952dd4e-002b-4775-a053-7a2036cfd351_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net change in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_0817cfbc-3f4f-4b53-be79-c00f31697692_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of dilutive equity awards (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsDisclosureTextBlock_d454a072-5290-4b20-b658-11bec32f6c98_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:to="lab_us-gaap_CashAndCashEquivalentsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_9a752fbd-6d35-49c8-83ab-cc8600c03721_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_e7476eba-c9cc-4baa-99d3-66bbb03542e1_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment Income, Nonoperating</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeNonoperating" xlink:to="lab_us-gaap_InvestmentIncomeNonoperating" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_10eb4873-30ac-47f0-9efd-ce44828864c7_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_17731fa4-830d-412a-ae0d-ac30073e1e68_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_ef703d8a-b19f-43cf-805a-69390a636dbb_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in tax expense related to loss from fire</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Catastrophic Event, Amount</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Catastrophic Event, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_2a4299d1-3671-4520-946a-da54a7ecf9e1_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_0d1ba6d0-31da-4273-a9db-d164bb782d0e_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_cc7fffe4-713a-41c4-afca-af2496c2b23c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_7cef0fa4-aa44-41ab-9d80-9b60faaec68f_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_7bf4ddda-3ea0-40de-bbcc-fa59235f5a3c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_a54b37b8-2f84-4efe-974e-e41d5c736bca_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_50103b27-efe9-4a8c-a472-a56d0dec0126_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_9b6ab132-4fa8-4479-8309-30a4f11cdde4_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discrete tax expense (benefit)</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_ee8534f7-cd37-4572-a9f0-bea3234cfd1f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Assets and Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SovereignDebtMember_6ea60b83-fbca-4a6c-a89b-718993e8f697_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sovereign Bonds</link:label>
    <link:label id="lab_us-gaap_SovereignDebtMember_label_en-US" xlink:label="lab_us-gaap_SovereignDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sovereign Debt [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtMember" xlink:to="lab_us-gaap_SovereignDebtMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_54d81a5a-ee25-48a4-b331-bdc241def06d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Unrealized Losses and Fair Values for Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrealized Loss on Investments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_EUR_c4498229-741a-4fa2-a7a4-4cab40abdf72_terseLabel_en-US" xlink:label="lab_currency_EUR" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Euro Member Countries, Euro</link:label>
    <link:label id="lab_currency_EUR_label_en-US" xlink:label="lab_currency_EUR" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Euro Member Countries, Euro</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_EUR" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_EUR"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_EUR" xlink:to="lab_currency_EUR" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_3c5c7bed-fa90-4efe-8a23-111bf0ba5b79_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationTaxSettlements_71df0302-9d73-419c-bec2-4ca6cf365a25_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxSettlements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in tax expense arising from tax settlement</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationTaxSettlements_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxSettlements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Settlement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxSettlements" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxSettlements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationTaxSettlements" xlink:to="lab_us-gaap_IncomeTaxReconciliationTaxSettlements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_c91dc230-e7d2-4446-b995-beb47247461d_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredLiabilities_3a424985-7fe8-46ba-9f87-9e7c815a058f_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase to non-current deferred tax liability</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_63b37e87-8297-4761-9ab5-8622c8f82790_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average grant-date fair values, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_d0f24337-0ec9-43bc-9e3a-9c68f9b30858_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetImpairmentCharges_fa3abea2-7d53-456f-8e93-515b6ae5e0e1_terseLabel_en-US" xlink:label="lab_us-gaap_AssetImpairmentCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset impairment charge</link:label>
    <link:label id="lab_us-gaap_AssetImpairmentCharges_label_en-US" xlink:label="lab_us-gaap_AssetImpairmentCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Impairment Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetImpairmentCharges" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetImpairmentCharges" xlink:to="lab_us-gaap_AssetImpairmentCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_63cc4af6-91ba-4cac-a8dd-c4c5be697c51_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_5a444990-f52b-41df-a969-3c0032a54b97_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research, Development, and Engineering Expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_62bf41af-7959-4c4b-99d5-6f520afec252_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_9d04572d-cd74-4e3e-8ee1-6620b452e327_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding purchase orders</link:label>
    <link:label id="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_label_en-US" xlink:label="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Commitment, Remaining Minimum Amount Committed</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:to="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_590ff826-ab2a-4e3a-80d1-759119e08cbc_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_1e7b1a56-4468-46d8-bfa4-56490d11be1b_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxes" xlink:to="lab_us-gaap_AccruedIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_163b742a-2df2-4fea-808c-5e446e977f84_terseLabel_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross realized losses on sale of investments</link:label>
    <link:label id="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_label_en-US" xlink:label="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Securities, Available-for-Sale, Realized Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:to="lab_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_b9319973-b03e-4ada-b604-6807607a9b11_terseLabel_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offsetting Assets</link:label>
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offsetting Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffsettingAssetsTableTextBlock" xlink:to="lab_us-gaap_OffsettingAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_7d5f5fd0-632d-449e-a1e3-58c080dbb1e4_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable, in dollars</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>cgnx-20220703_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:99bc1a8f-2526-451f-973a-aa9140899242,g:fd3f35d6-c9ff-45b5-af84-3b0a27fd2c28-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.cognex.com/role/CoverPage" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_e4895ef1-ca88-4410-918f-9d3e7c5bec62" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_DocumentType_e4895ef1-ca88-4410-918f-9d3e7c5bec62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_cad133a1-91e6-4758-82a8-32537cfbf2c9" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_DocumentQuarterlyReport_cad133a1-91e6-4758-82a8-32537cfbf2c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_66c85ee9-2e28-42a0-afa8-477814644ecd" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_DocumentPeriodEndDate_66c85ee9-2e28-42a0-afa8-477814644ecd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_3f39e8e1-fe21-4bdd-a38c-ebab206e8aac" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_DocumentTransitionReport_3f39e8e1-fe21-4bdd-a38c-ebab206e8aac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_a8b199c3-b043-42b1-8671-de29f6faea75" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityFileNumber_a8b199c3-b043-42b1-8671-de29f6faea75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_e7008de0-b0e4-4c75-84e7-c599728d5fc3" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityRegistrantName_e7008de0-b0e4-4c75-84e7-c599728d5fc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_5be0407a-de5a-4a75-9f95-a2d84d633637" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityIncorporationStateCountryCode_5be0407a-de5a-4a75-9f95-a2d84d633637" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_bbf8f303-16e5-484d-9886-a1f9551f1d4f" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityTaxIdentificationNumber_bbf8f303-16e5-484d-9886-a1f9551f1d4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_546133bc-18b6-49c0-a7e3-90d36ae85c10" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityAddressAddressLine1_546133bc-18b6-49c0-a7e3-90d36ae85c10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_977e0e02-7c11-4d08-bd48-083b60186d26" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityAddressCityOrTown_977e0e02-7c11-4d08-bd48-083b60186d26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_39cffc0c-f7fa-46f1-a6c4-4cdc10bdb28c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityAddressStateOrProvince_39cffc0c-f7fa-46f1-a6c4-4cdc10bdb28c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_45e661b0-2064-4722-9d66-a8b248ff424c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityAddressPostalZipCode_45e661b0-2064-4722-9d66-a8b248ff424c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_9d029fd4-c869-45e4-a316-85c221c46fd1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_CityAreaCode_9d029fd4-c869-45e4-a316-85c221c46fd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_fa5a4adf-470a-43ab-aa28-df2690025fba" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_LocalPhoneNumber_fa5a4adf-470a-43ab-aa28-df2690025fba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_0ef20187-9bc5-4a4a-aa32-9bf305d468a3" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_Security12bTitle_0ef20187-9bc5-4a4a-aa32-9bf305d468a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_a1f1b00d-5d44-4d2c-a7e0-36bd8a935b37" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_TradingSymbol_a1f1b00d-5d44-4d2c-a7e0-36bd8a935b37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_b0e53fe6-154b-4816-a298-bfc241ef433a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_SecurityExchangeName_b0e53fe6-154b-4816-a298-bfc241ef433a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_850fa7a7-b6ed-4793-8ec8-3163e45a8820" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityCurrentReportingStatus_850fa7a7-b6ed-4793-8ec8-3163e45a8820" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_686ce008-8041-4c14-b8b2-e007d1431b53" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityInteractiveDataCurrent_686ce008-8041-4c14-b8b2-e007d1431b53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_04987eec-3fb7-4dcd-990b-05a6bb18b7b9" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityFilerCategory_04987eec-3fb7-4dcd-990b-05a6bb18b7b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_fa066979-fd5d-4a40-bd20-e811000ebf93" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntitySmallBusiness_fa066979-fd5d-4a40-bd20-e811000ebf93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_e60ec390-d1ef-477f-8400-a15da43069bf" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityEmergingGrowthCompany_e60ec390-d1ef-477f-8400-a15da43069bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_ebf84ea2-cc54-422c-9b0c-c4651b154731" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityShellCompany_ebf84ea2-cc54-422c-9b0c-c4651b154731" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_cf31dfdb-ca28-438f-a13c-60a4a8d88feb" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_cf31dfdb-ca28-438f-a13c-60a4a8d88feb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_cfe046e0-6bcf-4b02-a2b4-c1ee48af513d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_EntityCentralIndexKey_cfe046e0-6bcf-4b02-a2b4-c1ee48af513d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_31708180-5a1d-41d0-a7bc-38b26936716a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_CurrentFiscalYearEndDate_31708180-5a1d-41d0-a7bc-38b26936716a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_06c04be3-543a-414f-baba-6bcf87e59ac6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_DocumentFiscalYearFocus_06c04be3-543a-414f-baba-6bcf87e59ac6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_75b3e9f1-727c-4fbf-a900-502d2c721c52" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_DocumentFiscalPeriodFocus_75b3e9f1-727c-4fbf-a900-502d2c721c52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_867df5d6-f0d6-40fb-9be5-c87e6df2e858" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_c9e6df88-0bdb-402d-8613-a1997b4351f7" xlink:to="loc_dei_AmendmentFlag_867df5d6-f0d6-40fb-9be5-c87e6df2e858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofOperations"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_34d3c70e-7802-41ea-add4-dabfcfbc8340" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_34d3c70e-7802-41ea-add4-dabfcfbc8340" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_de321adc-5a69-4d12-8b71-612482a07587" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_de321adc-5a69-4d12-8b71-612482a07587" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_5133dc9f-38fd-44a7-b2b7-02770fd27def" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_GrossProfit_5133dc9f-38fd-44a7-b2b7-02770fd27def" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_48fb34ff-3b3a-4606-97fe-7e79f0675abd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_48fb34ff-3b3a-4606-97fe-7e79f0675abd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_8f83fcc3-cf09-4999-826d-314030110c6f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_8f83fcc3-cf09-4999-826d-314030110c6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossFromCatastrophes_485943e8-9d17-4b68-84e1-c43a7789722e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossFromCatastrophes"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_LossFromCatastrophes_485943e8-9d17-4b68-84e1-c43a7789722e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_8d251ef9-b75a-4cb7-ab86-de11b49c0d09" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_OperatingIncomeLoss_8d251ef9-b75a-4cb7-ab86-de11b49c0d09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_5a799ad5-8624-4e83-bb51-4bfd76b01693" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_5a799ad5-8624-4e83-bb51-4bfd76b01693" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_1fc1ba94-701e-4315-808a-d48a70396397" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeNonoperating"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_1fc1ba94-701e-4315-808a-d48a70396397" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_60ad8fcb-8b30-4baa-8121-2f68cb672345" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_60ad8fcb-8b30-4baa-8121-2f68cb672345" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5c7bd506-a4e2-4bc8-a01d-497d36560e94" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5c7bd506-a4e2-4bc8-a01d-497d36560e94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_417c6393-bb2b-4fc8-a77f-61a26fcae794" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_417c6393-bb2b-4fc8-a77f-61a26fcae794" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_59ddc3c7-73a3-4103-ad08-4671f19b5080" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_NetIncomeLoss_59ddc3c7-73a3-4103-ad08-4671f19b5080" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_52a9e720-8bed-47cd-9f64-7f9974fc4060" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_EarningsPerShareDilutedAbstract_52a9e720-8bed-47cd-9f64-7f9974fc4060" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_a1abe30f-ebc4-4583-97ec-a164159417de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_52a9e720-8bed-47cd-9f64-7f9974fc4060" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_a1abe30f-ebc4-4583-97ec-a164159417de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_04d41462-5fb8-47c5-9d21-de70eff13bdc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_52a9e720-8bed-47cd-9f64-7f9974fc4060" xlink:to="loc_us-gaap_EarningsPerShareDiluted_04d41462-5fb8-47c5-9d21-de70eff13bdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_c769ce37-1c82-44b2-b058-0f2aa770e548" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_c769ce37-1c82-44b2-b058-0f2aa770e548" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b696dcd1-4896-4364-ad7e-310ea11a28b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_c769ce37-1c82-44b2-b058-0f2aa770e548" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_b696dcd1-4896-4364-ad7e-310ea11a28b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_38ce0e04-9380-424e-9f8a-ab854e99485f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_c769ce37-1c82-44b2-b058-0f2aa770e548" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_38ce0e04-9380-424e-9f8a-ab854e99485f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_4e191d1e-c13d-4e97-9bc7-db8a1468b9e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_1b87cc1f-a169-4547-b7a2-1bd903e8e6c7" xlink:to="loc_us-gaap_CommonStockDividendsPerShareCashPaid_4e191d1e-c13d-4e97-9bc7-db8a1468b9e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofComprehensiveIncome"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_e9e9967c-e0d2-4e83-a738-cb3667f18338" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5bba5f86-867e-4e07-a2cb-42ca521e15f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_e9e9967c-e0d2-4e83-a738-cb3667f18338" xlink:to="loc_us-gaap_NetIncomeLoss_5bba5f86-867e-4e07-a2cb-42ca521e15f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_2a359015-0201-4642-91c3-2222466a3e60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_e9e9967c-e0d2-4e83-a738-cb3667f18338" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_2a359015-0201-4642-91c3-2222466a3e60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_362bbde4-448c-4b71-83f5-9d977c94fb8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_2a359015-0201-4642-91c3-2222466a3e60" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_362bbde4-448c-4b71-83f5-9d977c94fb8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_463b022b-b3a6-48f1-87bd-ac4dfd8612b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_362bbde4-448c-4b71-83f5-9d977c94fb8e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_463b022b-b3a6-48f1-87bd-ac4dfd8612b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_d6fe500e-ca48-4994-b8a8-0ed2f5c9ae1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_362bbde4-448c-4b71-83f5-9d977c94fb8e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_d6fe500e-ca48-4994-b8a8-0ed2f5c9ae1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_dae21b99-b73a-4159-bf99-18c0d9efa1f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_362bbde4-448c-4b71-83f5-9d977c94fb8e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_dae21b99-b73a-4159-bf99-18c0d9efa1f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_da608bc7-c5d9-4fab-81de-5b8bdee2526b" xlink:href="cgnx-20220703.xsd#cgnx_CurrencytranslationadjustmentsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_2a359015-0201-4642-91c3-2222466a3e60" xlink:to="loc_cgnx_CurrencytranslationadjustmentsAbstract_da608bc7-c5d9-4fab-81de-5b8bdee2526b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_fa696252-8da1-426f-98cf-8c01b5c48dfd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_da608bc7-c5d9-4fab-81de-5b8bdee2526b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_fa696252-8da1-426f-98cf-8c01b5c48dfd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_23286ea0-aabd-41f1-8856-36c647789944" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_da608bc7-c5d9-4fab-81de-5b8bdee2526b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_23286ea0-aabd-41f1-8856-36c647789944" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7a49432f-0663-483b-bc68-452e7c62eb85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_2a359015-0201-4642-91c3-2222466a3e60" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7a49432f-0663-483b-bc68-452e7c62eb85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_1b3cc241-2969-4b1c-b083-c7b0ea1ca087" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_e9e9967c-e0d2-4e83-a738-cb3667f18338" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_1b3cc241-2969-4b1c-b083-c7b0ea1ca087" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofComprehensiveIncomeParenthetical"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_a66eaf28-9fdd-4b9c-a8df-ef988402b79e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_ac48e44b-7f80-4322-8cff-84c652d768b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_a66eaf28-9fdd-4b9c-a8df-ef988402b79e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_ac48e44b-7f80-4322-8cff-84c652d768b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_d71a69c0-58cf-4d0c-a498-6e26f559b221" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d71a69c0-58cf-4d0c-a498-6e26f559b221" xlink:to="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_8873859d-dbb2-4051-8292-8449c2407b99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_8873859d-dbb2-4051-8292-8449c2407b99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_49657e53-0873-462c-b762-296922e1cb0c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_49657e53-0873-462c-b762-296922e1cb0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_9cac9bc6-87e2-4f49-a524-4347845e686e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_9cac9bc6-87e2-4f49-a524-4347845e686e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_92fba39f-9b00-4c22-83d1-c65c629cf71c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_92fba39f-9b00-4c22-83d1-c65c629cf71c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_81e0c4d1-de95-437f-a40b-0165ff4db237" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_InventoryNet_81e0c4d1-de95-437f-a40b-0165ff4db237" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_936d7906-637f-4eda-899f-047a188daccd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_936d7906-637f-4eda-899f-047a188daccd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_e44b9ef2-c003-4b41-b55a-7ac954a8b97c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8d316407-3df2-49b9-8b92-db3a8802bd36" xlink:to="loc_us-gaap_AssetsCurrent_e44b9ef2-c003-4b41-b55a-7ac954a8b97c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermInvestments_c2992ac5-d342-46bb-902c-876faac8bd5e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermInvestments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_LongTermInvestments_c2992ac5-d342-46bb-902c-876faac8bd5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_2c7f722a-f8c3-4c74-ba04-7f278abd9201" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_2c7f722a-f8c3-4c74-ba04-7f278abd9201" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_f12650e1-665a-4882-ace3-8770910cffdb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_f12650e1-665a-4882-ace3-8770910cffdb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_d2705eac-8f0a-49d1-a146-7bd1c1bb3808" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_Goodwill_d2705eac-8f0a-49d1-a146-7bd1c1bb3808" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_f23320ee-676e-4ae2-950e-f9744604f746" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_f23320ee-676e-4ae2-950e-f9744604f746" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_2977a619-45c4-4dcc-8500-e1f94a2656b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_2977a619-45c4-4dcc-8500-e1f94a2656b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_5a570d1e-0284-49d2-b7f8-1a7ee0e20222" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_5a570d1e-0284-49d2-b7f8-1a7ee0e20222" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_0a119266-2215-48f8-85fd-14d2dc83cef1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_b1fc2d4f-fc0b-45d3-974c-d85740221d75" xlink:to="loc_us-gaap_Assets_0a119266-2215-48f8-85fd-14d2dc83cef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d71a69c0-58cf-4d0c-a498-6e26f559b221" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_0184d824-8b55-4500-a827-900438b06044" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:to="loc_us-gaap_AccountsPayableCurrent_0184d824-8b55-4500-a827-900438b06044" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_5d647eaf-cadb-4a74-a6ad-2271b6e27d01" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_5d647eaf-cadb-4a74-a6ad-2271b6e27d01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_2faef21a-e321-45b6-82e1-48273d8b91f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_2faef21a-e321-45b6-82e1-48273d8b91f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_8f468d3a-f4a2-4d2f-bce4-5c8fed5016dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_8f468d3a-f4a2-4d2f-bce4-5c8fed5016dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_c1e99daf-dcfe-40aa-b60b-5b4ba2a972c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_c1e99daf-dcfe-40aa-b60b-5b4ba2a972c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_89412ca7-b179-426f-843b-644d7ca31784" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_0c1a73e5-3eea-49d8-b6d5-98a25f54e4a8" xlink:to="loc_us-gaap_LiabilitiesCurrent_89412ca7-b179-426f-843b-644d7ca31784" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7c0105d5-bc6a-4a36-8679-2ff450341a86" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7c0105d5-bc6a-4a36-8679-2ff450341a86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_877fae4d-01b2-413f-b82e-8c21fc384a42" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_877fae4d-01b2-413f-b82e-8c21fc384a42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_d9e75dba-81ea-4a7f-aa42-e8af453d0d73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_d9e75dba-81ea-4a7f-aa42-e8af453d0d73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxes_e3b3b98c-6306-4f2d-a3ee-23fc762f63e7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxes"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_AccruedIncomeTaxes_e3b3b98c-6306-4f2d-a3ee-23fc762f63e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_ffe720f0-69a0-4924-bf95-17cfbd80a1b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_ffe720f0-69a0-4924-bf95-17cfbd80a1b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_7af4bd4e-edea-4172-b6e1-f24374f500ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_Liabilities_7af4bd4e-edea-4172-b6e1-f24374f500ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValueOutstanding_1f8049c7-8fee-4ad7-9241-54d7f86267f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValueOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:to="loc_us-gaap_PreferredStockValueOutstanding_1f8049c7-8fee-4ad7-9241-54d7f86267f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValueOutstanding_b78f93e1-695b-4afe-b091-74157a18450b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValueOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:to="loc_us-gaap_CommonStockValueOutstanding_b78f93e1-695b-4afe-b091-74157a18450b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_3ec27537-9961-4f3f-aa0d-637b0aec3fb1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_3ec27537-9961-4f3f-aa0d-637b0aec3fb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_fea7290a-34fa-4c8b-b123-df1947310c80" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_fea7290a-34fa-4c8b-b123-df1947310c80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_117e95a1-929e-48da-ad4c-1a03f26a9b1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_117e95a1-929e-48da-ad4c-1a03f26a9b1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_e4b612f7-3c5d-44a2-a9cc-fdaf42e593fb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_3118722d-a93f-4eac-9a3a-b2ad04a5ce53" xlink:to="loc_us-gaap_StockholdersEquity_e4b612f7-3c5d-44a2-a9cc-fdaf42e593fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_2c70f62e-4311-4721-a134-47cfd5d942c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_7f2af857-3d57-4c5e-aabd-c53d7d696127" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_2c70f62e-4311-4721-a134-47cfd5d942c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent_c8878116-c887-4a52-ab78-9a810602c73b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent_c8878116-c887-4a52-ab78-9a810602c73b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent_f63ec88f-ac06-4314-9249-a577052e3345" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent_f63ec88f-ac06-4314-9249-a577052e3345" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_4e46fd10-42f8-456e-ac60-95c893493fe4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_4e46fd10-42f8-456e-ac60-95c893493fe4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent_dbbe8596-eeed-46fc-9efe-3f0c6c7783c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent_dbbe8596-eeed-46fc-9efe-3f0c6c7783c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent_d5aac2b6-ca29-4b2a-858b-299cd1ad831e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent_d5aac2b6-ca29-4b2a-858b-299cd1ad831e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_ce5b69dd-cf95-4cdf-add9-2ea04be13960" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_ce5b69dd-cf95-4cdf-add9-2ea04be13960" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_b4161b33-070d-42a6-8cd7-8df7fabe62ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_b4161b33-070d-42a6-8cd7-8df7fabe62ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_51fd1ab2-1bcd-4217-86b4-a27b779e0bc7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_PreferredStockSharesIssued_51fd1ab2-1bcd-4217-86b4-a27b779e0bc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_ed18dad8-4488-49d4-ad0b-a0d135e511ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_ed18dad8-4488-49d4-ad0b-a0d135e511ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_7d807715-eda1-457d-8c70-99015d976d32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_7d807715-eda1-457d-8c70-99015d976d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_acb03219-576f-4b3c-80c8-6aff1d9f5826" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_acb03219-576f-4b3c-80c8-6aff1d9f5826" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_a2168fa9-575c-4641-91a5-0b9115283ba0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_CommonStockSharesIssued_a2168fa9-575c-4641-91a5-0b9115283ba0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_4a56276e-88d2-4ef9-86e0-2b0cacccc345" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_d318d6f3-96b6-4ebf-a956-bbcb8e2f2f59" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_4a56276e-88d2-4ef9-86e0-2b0cacccc345" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3b0f9f6d-07f6-436e-911f-5f60f50b6cba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3b0f9f6d-07f6-436e-911f-5f60f50b6cba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_936cbd24-5eeb-4f4b-86d8-74b4774c283f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3b0f9f6d-07f6-436e-911f-5f60f50b6cba" xlink:to="loc_us-gaap_NetIncomeLoss_936cbd24-5eeb-4f4b-86d8-74b4774c283f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3b0f9f6d-07f6-436e-911f-5f60f50b6cba" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionPlanExpense_09825d37-ce26-42f1-a0aa-5214546f541c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_StockOptionPlanExpense_09825d37-ce26-42f1-a0aa-5214546f541c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_0453e44b-16a1-4e2f-98eb-550e5d12260b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_Depreciation_0453e44b-16a1-4e2f-98eb-550e5d12260b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnDispositionOfAssets1_44fe0cdd-9249-48d9-83f9-7a03a8b1d1d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_GainLossOnDispositionOfAssets1_44fe0cdd-9249-48d9-83f9-7a03a8b1d1d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_fa0154b4-ee82-4e54-b40c-83f593cc5bbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_fa0154b4-ee82-4e54-b40c-83f593cc5bbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ExcessAndObsoleteInventoryCharges_4fd5d5fe-529c-4d21-810d-435f7ead4a9b" xlink:href="cgnx-20220703.xsd#cgnx_ExcessAndObsoleteInventoryCharges"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_cgnx_ExcessAndObsoleteInventoryCharges_4fd5d5fe-529c-4d21-810d-435f7ead4a9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_NonCashLossFromCatastrophes_0f78ef58-e8e4-48e3-bc1b-d0bf207cb0d4" xlink:href="cgnx-20220703.xsd#cgnx_NonCashLossFromCatastrophes"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_cgnx_NonCashLossFromCatastrophes_0f78ef58-e8e4-48e3-bc1b-d0bf207cb0d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_79c0adba-5655-4ffa-81d3-0e1a42c905b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_79c0adba-5655-4ffa-81d3-0e1a42c905b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_2999fed8-4223-48bb-b631-27cbc968c9ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfInvestments"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_2999fed8-4223-48bb-b631-27cbc968c9ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_20fc3ba6-8740-41dd-b462-917f683dbf43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_20fc3ba6-8740-41dd-b462-917f683dbf43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_87acafe6-d860-4815-921e-d0109595efa2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_87acafe6-d860-4815-921e-d0109595efa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_6ffe4fad-5e65-4196-95d7-1a28a2a25fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_6ffe4fad-5e65-4196-95d7-1a28a2a25fbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_a7e8c936-4771-495b-9edb-5e04ea40e681" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_a7e8c936-4771-495b-9edb-5e04ea40e681" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_36d479b9-dd83-4af7-9416-08c14e38e82f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_36d479b9-dd83-4af7-9416-08c14e38e82f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_3cd3d145-f6e2-44de-b801-b963ae3cc2bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_3cd3d145-f6e2-44de-b801-b963ae3cc2bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2679d456-754e-401d-99e6-2dc1a811f29f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2679d456-754e-401d-99e6-2dc1a811f29f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_9999dc40-75d9-4685-b328-388747540ba9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_9999dc40-75d9-4685-b328-388747540ba9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_ad944d7d-6b12-4885-8d87-bdc35df726d4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_ad944d7d-6b12-4885-8d87-bdc35df726d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_c00763ec-f2ac-43ac-a8c6-c3e84c20bf9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6fcf73dd-8e65-455b-98d1-57bb09f19706" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_c00763ec-f2ac-43ac-a8c6-c3e84c20bf9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b14a7583-176b-4d54-9d43-ffeb75afe315" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3b0f9f6d-07f6-436e-911f-5f60f50b6cba" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b14a7583-176b-4d54-9d43-ffeb75afe315" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7a56bd35-de7e-4a2f-88c9-f97c46078bf3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7a56bd35-de7e-4a2f-88c9-f97c46078bf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_82fc3ac9-6ed4-4d7f-a16f-9ca14f192c92" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7a56bd35-de7e-4a2f-88c9-f97c46078bf3" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_82fc3ac9-6ed4-4d7f-a16f-9ca14f192c92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_dee3078d-f6b2-4b44-8265-e815987693c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7a56bd35-de7e-4a2f-88c9-f97c46078bf3" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_dee3078d-f6b2-4b44-8265-e815987693c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_192b7696-e658-4e57-b347-a70797d385ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7a56bd35-de7e-4a2f-88c9-f97c46078bf3" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_192b7696-e658-4e57-b347-a70797d385ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_82fa420f-9615-4463-95b9-7414255b29ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_7a56bd35-de7e-4a2f-88c9-f97c46078bf3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_82fa420f-9615-4463-95b9-7414255b29ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_76e0967f-63b5-4d9f-b709-dd69a0addffe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_76e0967f-63b5-4d9f-b709-dd69a0addffe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_84d348c8-5964-4c24-aee3-a1c4aee82d33" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_76e0967f-63b5-4d9f-b709-dd69a0addffe" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_84d348c8-5964-4c24-aee3-a1c4aee82d33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_773e50ad-d76e-4f16-9955-26f839d44e6d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_76e0967f-63b5-4d9f-b709-dd69a0addffe" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_773e50ad-d76e-4f16-9955-26f839d44e6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_46bf3762-acd5-42a1-9770-c734035ffb2c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividendsCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_76e0967f-63b5-4d9f-b709-dd69a0addffe" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_46bf3762-acd5-42a1-9770-c734035ffb2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_42883260-d464-4933-9f3b-ad34fe1a1bbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_76e0967f-63b5-4d9f-b709-dd69a0addffe" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_42883260-d464-4933-9f3b-ad34fe1a1bbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_aa976218-f767-4e8f-bce6-50cccded356a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_aa976218-f767-4e8f-bce6-50cccded356a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_748823bb-ad0e-40ae-ae9d-d9cbb8ef297e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_748823bb-ad0e-40ae-ae9d-d9cbb8ef297e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_d34db0e3-6275-4883-af52-7964e84b0115" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_d34db0e3-6275-4883-af52-7964e84b0115" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_53d55de1-81a6-402d-9b3e-54100b1ac583" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_5371ea3d-6639-48c6-a51d-95ef9cf53397" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_53d55de1-81a6-402d-9b3e-54100b1ac583" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementofShareholdersEquity"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_e3d2b574-612d-4f06-9992-3ee68a3706fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_e3d2b574-612d-4f06-9992-3ee68a3706fd" xlink:to="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_6d4c011c-ad7d-46b5-a4f9-13faede05515" xlink:to="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_e0198262-2d9b-45e0-b6c2-e05f083335b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_CommonStockMember_e0198262-2d9b-45e0-b6c2-e05f083335b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_c44ef6b6-713b-4f2a-8876-bd4e147b6788" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_c44ef6b6-713b-4f2a-8876-bd4e147b6788" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_e2b522a3-624b-4de6-a6f8-466b1967b803" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_RetainedEarningsMember_e2b522a3-624b-4de6-a6f8-466b1967b803" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3f272436-d3ca-47f9-8ad6-3faecbf6ca1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_8eaec926-7a4a-45ce-ba18-8e369cd4bd3b" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3f272436-d3ca-47f9-8ad6-3faecbf6ca1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_98ed7297-4946-4665-a7b2-80b8d424dcf6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_50dcfd0d-5b7f-41f2-b634-8ff43e06bd98" xlink:to="loc_us-gaap_StatementLineItems_98ed7297-4946-4665-a7b2-80b8d424dcf6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_98ed7297-4946-4665-a7b2-80b8d424dcf6" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d41b8cf1-7f6c-477c-a9aa-f1b41534aa1d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockholdersEquity_d41b8cf1-7f6c-477c-a9aa-f1b41534aa1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_9a2de6d2-d36f-46cb-8085-79506259e068" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_CommonStockSharesIssued_9a2de6d2-d36f-46cb-8085-79506259e068" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_6174cbe8-1fcd-44ac-8d4d-092ced0044f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_6174cbe8-1fcd-44ac-8d4d-092ced0044f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_1a91f86e-b879-4564-8860-00ddf69eb19f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_1a91f86e-b879-4564-8860-00ddf69eb19f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_cf87d37f-b554-4745-ba91-f609c5d33775" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_cf87d37f-b554-4745-ba91-f609c5d33775" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_f76a1e20-d816-48a5-8219-90ca0367d064" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_f76a1e20-d816-48a5-8219-90ca0367d064" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef0f1b01-fd28-4641-8e2b-878c3e287e7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ef0f1b01-fd28-4641-8e2b-878c3e287e7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DividendsCash_f2fbe7fc-6ee2-407f-bcf6-090a70acbaea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCash"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_DividendsCash_f2fbe7fc-6ee2-407f-bcf6-090a70acbaea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_91a2b645-4c40-4118-94e1-0f3306079eff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_NetIncomeLoss_91a2b645-4c40-4118-94e1-0f3306079eff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_f73e64b1-bbfa-480f-857e-1b502662b846" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_f73e64b1-bbfa-480f-857e-1b502662b846" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_df20921b-374e-42f0-8927-272d61cc33f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_df20921b-374e-42f0-8927-272d61cc33f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_099e190a-5bbb-43a9-a2ce-30e8bb037b81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_099e190a-5bbb-43a9-a2ce-30e8bb037b81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_7ddd8abb-f0a8-4cf9-a890-7fc06bf3cb72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_StockholdersEquity_7ddd8abb-f0a8-4cf9-a890-7fc06bf3cb72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_e8f2cc40-5ee3-40fe-b594-2ba82523a728" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_9d5d4090-d200-4a21-9ab7-50d1f9a2b311" xlink:to="loc_us-gaap_CommonStockSharesIssued_e8f2cc40-5ee3-40fe-b594-2ba82523a728" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical" xlink:type="simple" xlink:href="cgnx-20220703.xsd#ConsolidatedStatementofShareholdersEquityParenthetical"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_63dae683-a72b-4386-822e-7daa7437b520" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_463a4a97-f2b9-4b3c-b5cd-39c32fb133e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareCashPaid"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_63dae683-a72b-4386-822e-7daa7437b520" xlink:to="loc_us-gaap_CommonStockDividendsPerShareCashPaid_463a4a97-f2b9-4b3c-b5cd-39c32fb133e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_22d5d8c7-7ca8-40e8-ad53-0adcc842e6a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_63dae683-a72b-4386-822e-7daa7437b520" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_22d5d8c7-7ca8-40e8-ad53-0adcc842e6a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="cgnx-20220703.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_14c1641c-7fbf-4388-b751-54039f3e6bfa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_6d2e3ee3-6c4e-40e0-85ee-76368bda8518" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_14c1641c-7fbf-4388-b751-54039f3e6bfa" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_6d2e3ee3-6c4e-40e0-85ee-76368bda8518" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cgnx-20220703.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_0160094c-f296-4013-a104-ee6129729b9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_607bfbb4-139b-4481-80f6-6223d5ab9ddb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_0160094c-f296-4013-a104-ee6129729b9c" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_607bfbb4-139b-4481-80f6-6223d5ab9ddb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:type="simple" xlink:href="cgnx-20220703.xsd#NewPronouncements"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0b472af3-dbcf-42bd-bed4-a81d23b333f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_6c580b60-da0b-45f2-9929-29bc8cc0311a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0b472af3-dbcf-42bd-bed4-a81d23b333f1" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_6c580b60-da0b-45f2-9929-29bc8cc0311a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:type="simple" xlink:href="cgnx-20220703.xsd#FairValueMeasurements"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_14f843e0-21bf-46e9-a07d-e86440c6b8cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_49c82fd1-807b-4043-bff4-ea9e98b1fb82" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_14f843e0-21bf-46e9-a07d-e86440c6b8cb" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_49c82fd1-807b-4043-bff4-ea9e98b1fb82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#FairValueMeasurementsTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_ac094bde-46d4-462d-9157-86b0760a1705" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_079de786-bedb-4186-a440-556151bb78c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_ac094bde-46d4-462d-9157-86b0760a1705" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_079de786-bedb-4186-a440-556151bb78c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_f45657a4-40e0-49d2-a4a8-7995ad8be030" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_f45657a4-40e0-49d2-a4a8-7995ad8be030" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_231536e9-b067-41fa-93d9-e3dfabe98f4b" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_928a76ba-4e00-472e-a2e0-6eece4ac5b90" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_928a76ba-4e00-472e-a2e0-6eece4ac5b90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_00e09d73-4646-4df5-9f63-b349ae6713ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_00e09d73-4646-4df5-9f63-b349ae6713ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_0306e24b-9b15-45cc-9dd0-d8653d02a1f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_7ba7281b-062f-462e-a0a2-524bf3852df9" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_0306e24b-9b15-45cc-9dd0-d8653d02a1f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_140bdfb4-e4ff-4a03-b321-f5278718b7ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_aee7da4c-939b-41b9-b92f-329d4455801d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_140bdfb4-e4ff-4a03-b321-f5278718b7ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4f8a4441-ca83-4850-b6d0-4ce9fadc4ef0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_140bdfb4-e4ff-4a03-b321-f5278718b7ba" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4f8a4441-ca83-4850-b6d0-4ce9fadc4ef0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_31afddb7-20b1-43f6-9ccc-924fdafe594a" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_43af1c1d-a1b6-419c-abaf-fae3eb4bafcb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_43af1c1d-a1b6-419c-abaf-fae3eb4bafcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_352cdb06-8a13-4803-a485-1b8d76226b8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_352cdb06-8a13-4803-a485-1b8d76226b8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_e6f301b6-4965-45d0-a797-dd8d61dc13c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_e6f301b6-4965-45d0-a797-dd8d61dc13c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_2ce86921-264c-4837-862a-aa2bff02ff48" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_cgnx_AgencyBondsMember_2ce86921-264c-4837-862a-aa2bff02ff48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_106470d6-18f2-451c-9afd-b8309276aaea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_106470d6-18f2-451c-9afd-b8309276aaea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_0085e0da-d044-42dc-821d-1a226cd6ed81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_638c2ebe-bafe-415f-831d-ffede17f037c" xlink:to="loc_us-gaap_MunicipalBondsMember_0085e0da-d044-42dc-821d-1a226cd6ed81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_ccb8d7df-6b25-41de-b44a-8b5fe0405d2d" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosureAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_548d7088-24e2-4eb9-aa62-ac235e57a24d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_548d7088-24e2-4eb9-aa62-ac235e57a24d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5768594b-4988-4a49-b531-1e85eab23d33" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5768594b-4988-4a49-b531-1e85eab23d33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_4891c395-b5e7-479b-b299-afe4de7abdb4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_908ab701-d69b-492d-bf0d-f84667570fd8" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_4891c395-b5e7-479b-b299-afe4de7abdb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_9b2991f3-5122-41d6-8f54-4384cb67fdf1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_4085deda-3b98-4356-84a0-9f488b39b0cb" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_9b2991f3-5122-41d6-8f54-4384cb67fdf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_a3d85789-b9fc-4d23-a7d0-5f3857537579" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_9b2991f3-5122-41d6-8f54-4384cb67fdf1" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_a3d85789-b9fc-4d23-a7d0-5f3857537579" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#FairValueMeasurementsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_3d3d658c-a65f-40df-b0ac-4442ede49bf8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_915e92f9-70aa-41a2-8665-1f6f9d0a9362" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_3d3d658c-a65f-40df-b0ac-4442ede49bf8" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_915e92f9-70aa-41a2-8665-1f6f9d0a9362" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestments" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestments"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_f14c7b1c-f88c-40d8-b8a1-1ff1a1a88a65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsDisclosureTextBlock_063ca2fd-d988-421d-997e-0dc421e4868f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_f14c7b1c-f88c-40d8-b8a1-1ff1a1a88a65" xlink:to="loc_us-gaap_CashAndCashEquivalentsDisclosureTextBlock_063ca2fd-d988-421d-997e-0dc421e4868f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_122209c3-64a1-4ad6-827b-1f4f3fcb09f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_3d695df1-afb2-49f4-b74a-0b879edca484" xlink:href="cgnx-20220703.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_122209c3-64a1-4ad6-827b-1f4f3fcb09f5" xlink:to="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_3d695df1-afb2-49f4-b74a-0b879edca484" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_2cbe3a03-78de-4f93-b021-f4e68b237fb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_122209c3-64a1-4ad6-827b-1f4f3fcb09f5" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_2cbe3a03-78de-4f93-b021-f4e68b237fb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_fd643d38-360b-4a89-b7c5-e88ca6abba8c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_122209c3-64a1-4ad6-827b-1f4f3fcb09f5" xlink:to="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_fd643d38-360b-4a89-b7c5-e88ca6abba8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_33d792da-88ef-4958-9c53-c83867346ce5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_122209c3-64a1-4ad6-827b-1f4f3fcb09f5" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_33d792da-88ef-4958-9c53-c83867346ce5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_fb9ea34e-30b2-43a4-a42f-6715f2839e5a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfCashAndCashEquivalentsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_fb9ea34e-30b2-43a4-a42f-6715f2839e5a" xlink:to="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_19fd0c1e-a951-40ec-a8d8-e6e65e0801c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_45bfd381-f423-41e2-836a-20e71bf5c42b" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_19fd0c1e-a951-40ec-a8d8-e6e65e0801c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsMember_34187ea3-6640-43fa-a905-fb10031aa3ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentAssetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_19fd0c1e-a951-40ec-a8d8-e6e65e0801c3" xlink:to="loc_us-gaap_OtherCurrentAssetsMember_34187ea3-6640-43fa-a905-fb10031aa3ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfCashAndCashEquivalentsTable_a2e830c4-34f8-4ea5-8bc8-afd772b0026d" xlink:to="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestReceivable_4708ac69-d0fc-442f-abec-4a2f558587e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_InterestReceivable_4708ac69-d0fc-442f-abec-4a2f558587e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_243b67a2-de45-451f-9270-6f81210b324e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss_243b67a2-de45-451f-9270-6f81210b324e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease_174706a0-ebf2-4b12-a567-04199b96b344" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease_174706a0-ebf2-4b12-a567-04199b96b344" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_55eb49a0-6c77-4d3c-bf5b-024d8bb15691" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedGain"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain_55eb49a0-6c77-4d3c-bf5b-024d8bb15691" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_5020a7f6-3ad5-4e91-90d0-1b68f90bc868" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsLineItems_e3e977ca-27bf-495c-a661-650318d4cd0a" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss_5020a7f6-3ad5-4e91-90d0-1b68f90bc868" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_2f3bd4d6-e6d9-4a92-8042-6eb87e9b1ffb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_2f3bd4d6-e6d9-4a92-8042-6eb87e9b1ffb" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:to="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_6aa29f00-0189-4103-b942-a71afe37fa3a" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_c136620e-4afb-47aa-bd9e-f99708c55327" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_c136620e-4afb-47aa-bd9e-f99708c55327" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_c02955c1-eb3f-40d2-a2bf-cd91d097607e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_c02955c1-eb3f-40d2-a2bf-cd91d097607e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_feb57fb3-79d3-4903-be55-aa9c3f1607f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_feb57fb3-79d3-4903-be55-aa9c3f1607f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_64f292aa-76ce-45ec-8651-e1c8347b0108" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_cgnx_AgencyBondsMember_64f292aa-76ce-45ec-8651-e1c8347b0108" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_dd9342f6-ae55-430c-8b3d-0f5d1e041ef5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_MunicipalBondsMember_dd9342f6-ae55-430c-8b3d-0f5d1e041ef5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtMember_3c2e33d0-72a2-46df-b9b5-d57727f4bfab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_87bb326f-2320-44ac-a81c-bc31fa6e5f3f" xlink:to="loc_us-gaap_SovereignDebtMember_3c2e33d0-72a2-46df-b9b5-d57727f4bfab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_dee9add8-7d12-429b-ab83-e98564e67fbc" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Cash_fb0eea20-21fe-41f7-9e83-53df5b5cb152" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_Cash_fb0eea20-21fe-41f7-9e83-53df5b5cb152" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashEquivalentsAtCarryingValue_572e7ea0-bd86-4ab1-92e0-cb69dd589688" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_CashEquivalentsAtCarryingValue_572e7ea0-bd86-4ab1-92e0-cb69dd589688" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_6efef603-417f-4c89-95f5-f2c98cdc498b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsAtCarryingValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_6efef603-417f-4c89-95f5-f2c98cdc498b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9bbacff8-4a9e-491a-9581-794bf1b18c85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9bbacff8-4a9e-491a-9581-794bf1b18c85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_66ddee2d-22c9-4c2a-856a-5394cf7fce79" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_66ddee2d-22c9-4c2a-856a-5394cf7fce79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_5eaac74c-5a6e-40b8-9146-115ee56ce722" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_5eaac74c-5a6e-40b8-9146-115ee56ce722" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermInvestments_41d046ff-7786-46a9-a0d7-7a1a9f1bf41d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermInvestments"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_us-gaap_LongTermInvestments_41d046ff-7786-46a9-a0d7-7a1a9f1bf41d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_a68e2e0e-17cf-4130-a595-865a9c44b526" xlink:href="cgnx-20220703.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_78690036-9a08-40a2-9354-5a4dc0067982" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_a68e2e0e-17cf-4130-a595-865a9c44b526" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_e8f39bb4-96de-4043-87e8-08599e799fd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_e8f39bb4-96de-4043-87e8-08599e799fd9" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:to="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_1691cb08-b1e2-4ee7-bcfe-87471b3933aa" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_434ba6ee-55fc-46e0-9e93-b0a99fe93432" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_434ba6ee-55fc-46e0-9e93-b0a99fe93432" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_fed80d74-5934-4db2-a536-e0eedc4dfbe3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_fed80d74-5934-4db2-a536-e0eedc4dfbe3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_c18744d5-5724-46fe-a67b-7a81c37303c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_c18744d5-5724-46fe-a67b-7a81c37303c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_9ff4bdfb-e964-4fb5-8a9d-f8a15878c571" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_cgnx_AgencyBondsMember_9ff4bdfb-e964-4fb5-8a9d-f8a15878c571" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_f016bb79-f989-494a-af91-a21d78d5b5d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_f016bb79-f989-494a-af91-a21d78d5b5d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_e1197213-3869-407a-aa14-fdd3089532b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_c0be3b4a-273a-450e-9632-f4d7cd44a3a9" xlink:to="loc_us-gaap_MunicipalBondsMember_e1197213-3869-407a-aa14-fdd3089532b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:to="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentTypeCategorizationMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeAxis_8db14ef6-dd07-4920-aa48-d20b19d1557f" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_c86f01d4-9b7a-442a-9793-0ab4024d82d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermInvestmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_c86f01d4-9b7a-442a-9793-0ab4024d82d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LongTermInvestmentsMember_3c39cdd2-ada2-4584-a1b1-e5103f00e7cc" xlink:href="cgnx-20220703.xsd#cgnx_LongTermInvestmentsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_6c165643-9942-4411-bb3f-b6ef37005d61" xlink:to="loc_cgnx_LongTermInvestmentsMember_3c39cdd2-ada2-4584-a1b1-e5103f00e7cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_ae6c299a-41ab-4cf8-9a6a-6b03e579d96d" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f8fac8b7-b924-4c05-bdf5-5be7c69ce7bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f8fac8b7-b924-4c05-bdf5-5be7c69ce7bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_eb16f8da-71c4-4c35-9872-af3d2725333a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_eb16f8da-71c4-4c35-9872-af3d2725333a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6c6a8e1-d0c1-4934-bce0-631533423a25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_d6c6a8e1-d0c1-4934-bce0-631533423a25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_1ab42077-31b9-44be-8351-fab2cb2860c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_966d3d12-966c-4c72-8053-94720fffa507" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_1ab42077-31b9-44be-8351-fab2cb2860c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_f00b6a4b-2c22-446f-a045-72c92f217cc2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_f00b6a4b-2c22-446f-a045-72c92f217cc2" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:to="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_4cbcecfa-139b-4837-83bc-7e3f18abfb02" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_c6bfe59b-4ee3-489b-843e-e2c3dbff0a1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_c6bfe59b-4ee3-489b-843e-e2c3dbff0a1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_27b93e45-7855-4dd0-b082-ef7b34c2c94a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_27b93e45-7855-4dd0-b082-ef7b34c2c94a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_e7e74840-115b-4b3c-8720-afc231e9f4f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_e7e74840-115b-4b3c-8720-afc231e9f4f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_d8911d29-7a08-4181-a310-39e766defe13" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_cgnx_AgencyBondsMember_d8911d29-7a08-4181-a310-39e766defe13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_b44255ad-a8f9-42d5-b406-fba1c9d70223" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_b44255ad-a8f9-42d5-b406-fba1c9d70223" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_916a5855-7f3a-45dd-a68b-6345ec2d4db9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_b999235b-6e92-48c2-8d10-b0579e7415c9" xlink:to="loc_us-gaap_MunicipalBondsMember_916a5855-7f3a-45dd-a68b-6345ec2d4db9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_f17c442c-1bba-4797-b6e7-e886646fc5a8" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_fe767f5f-de81-462e-8d4a-0ec7d0db1356" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months_fe767f5f-de81-462e-8d4a-0ec7d0db1356" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_efdc5218-54ac-44e5-86c3-fa04251d0e72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_efdc5218-54ac-44e5-86c3-fa04251d0e72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_1f4b8fed-c9a1-4451-972a-8f76e6f1396c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger_1f4b8fed-c9a1-4451-972a-8f76e6f1396c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_ccb63f03-dbe7-45e6-b630-df9e981fe664" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_ccb63f03-dbe7-45e6-b630-df9e981fe664" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_74fd2058-86c9-4c29-8e5b-d41e7d0c647e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition_74fd2058-86c9-4c29-8e5b-d41e7d0c647e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a0d89540-872b-4406-92e7-883124cb5c85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_50fcaae1-daa2-47d2-b6d4-a4b4ef3b229f" xlink:to="loc_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss_a0d89540-872b-4406-92e7-883124cb5c85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_c847d00c-d5b8-4214-aa32-648df1a602a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_c847d00c-d5b8-4214-aa32-648df1a602a2" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:to="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_14edccd0-4847-4458-8fa9-9f41bdd4d56e" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_5dc11e32-447a-4e9f-a6a1-af7fd2fd55fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_5dc11e32-447a-4e9f-a6a1-af7fd2fd55fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_72d54614-f7e0-4d24-b7de-9abfeb681810" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetBackedSecuritiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_72d54614-f7e0-4d24-b7de-9abfeb681810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_716f8e70-17ed-4044-97a3-e1b7035d3670" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasurySecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_716f8e70-17ed-4044-97a3-e1b7035d3670" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AgencyBondsMember_ccc0d64d-78bf-4f86-b50a-b5629ea57a69" xlink:href="cgnx-20220703.xsd#cgnx_AgencyBondsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_cgnx_AgencyBondsMember_ccc0d64d-78bf-4f86-b50a-b5629ea57a69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_5aedf26b-f868-453b-b551-6395d5541d8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SovereignDebtSecuritiesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_5aedf26b-f868-453b-b551-6395d5541d8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MunicipalBondsMember_768fc8bf-cbbb-4e84-808a-a7c77059d3cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MunicipalBondsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_a483eab7-8a59-4d8b-8d54-fa2063b06743" xlink:to="loc_us-gaap_MunicipalBondsMember_768fc8bf-cbbb-4e84-808a-a7c77059d3cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_0cd9c51c-44c4-4925-a929-353b729434b4" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_ab03be90-da45-4759-9a2b-80791fc0e23d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_ab03be90-da45-4759-9a2b-80791fc0e23d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_f8edafb3-b2b1-448c-b98c-00def6838641" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_f8edafb3-b2b1-448c-b98c-00def6838641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_f8facce6-1474-4cea-9990-d998f9f26578" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_f8facce6-1474-4cea-9990-d998f9f26578" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_06b9b100-04e1-4fb9-9bdc-85fb0de62e53" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_06b9b100-04e1-4fb9-9bdc-85fb0de62e53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_a1803c4a-97f1-49b1-be3a-2f5bb9c8532d" xlink:href="cgnx-20220703.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_a1803c4a-97f1-49b1-be3a-2f5bb9c8532d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_52f3f5fa-34fe-455e-8a78-ab0c7657cb8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_8ae15a30-4cf3-4f2c-b8b5-f7190cbbd4a2" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_52f3f5fa-34fe-455e-8a78-ab0c7657cb8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:type="simple" xlink:href="cgnx-20220703.xsd#Inventories"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_7cac55b3-5b82-4d6a-b69d-53d81bf04f1a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_2de8db0b-7e9d-4b29-bd2a-3fb37006d77a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_7cac55b3-5b82-4d6a-b69d-53d81bf04f1a" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_2de8db0b-7e9d-4b29-bd2a-3fb37006d77a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#InventoriesTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_9b335744-6d3e-477a-bc0e-63f5941274f2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_a664c348-ddcb-47b0-b66c-57df30b6d310" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_9b335744-6d3e-477a-bc0e-63f5941274f2" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_a664c348-ddcb-47b0-b66c-57df30b6d310" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#InventoriesScheduleofInventoriesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_6411776a-97ef-42be-aa9b-06d9f7275b93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_f74b1943-c879-4893-90ce-880b4e8c6ffe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6411776a-97ef-42be-aa9b-06d9f7275b93" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_f74b1943-c879-4893-90ce-880b4e8c6ffe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_1b6e1993-103f-4e19-9331-ea129691cfc1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6411776a-97ef-42be-aa9b-06d9f7275b93" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_1b6e1993-103f-4e19-9331-ea129691cfc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_adeeeed2-27c1-40f3-8513-540e955aa8ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6411776a-97ef-42be-aa9b-06d9f7275b93" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_adeeeed2-27c1-40f3-8513-540e955aa8ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_2e176dd5-1ad0-4837-a334-76670331f356" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_6411776a-97ef-42be-aa9b-06d9f7275b93" xlink:to="loc_us-gaap_InventoryNet_2e176dd5-1ad0-4837-a334-76670331f356" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/Leases" xlink:type="simple" xlink:href="cgnx-20220703.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_07c06de9-ca54-427a-a6ef-70580d3f4ba6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_8d7a9121-e970-46a0-9147-d8eb273b108d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_07c06de9-ca54-427a-a6ef-70580d3f4ba6" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_8d7a9121-e970-46a0-9147-d8eb273b108d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_95e88600-3365-4c97-a4b2-74c8ea996a5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ecbb0ef1-4f3c-43c9-af4e-2d8d5e1badc5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_95e88600-3365-4c97-a4b2-74c8ea996a5c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_ecbb0ef1-4f3c-43c9-af4e-2d8d5e1badc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_6a214b2c-2a19-44e7-a66c-25f0754dfb5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_OperatingLeaseCost_6a214b2c-2a19-44e7-a66c-25f0754dfb5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_6998e4c8-a505-4bfb-8794-d8e2f835f797" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_OperatingLeasePayments_6998e4c8-a505-4bfb-8794-d8e2f835f797" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_10bd441c-6722-4d7e-898b-b44fd2ee6951" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_LeaseCost_10bd441c-6722-4d7e-898b-b44fd2ee6951" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:to="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_93510988-2611-4f80-a980-4f76636def6a" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_f30495f8-3515-441b-94aa-4bcd695c6f71" xlink:to="loc_srt_SegmentGeographicalDomain_93510988-2611-4f80-a980-4f76636def6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SouthboroughMassachusettsMember_6e0fae7d-f745-4c51-ad5e-c1e691c31620" xlink:href="cgnx-20220703.xsd#cgnx_SouthboroughMassachusettsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_93510988-2611-4f80-a980-4f76636def6a" xlink:to="loc_cgnx_SouthboroughMassachusettsMember_6e0fae7d-f745-4c51-ad5e-c1e691c31620" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fe9a69a4-df86-4259-9eb8-538116f342da" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetRentableArea_fc058cbe-7992-4d91-bd8c-ac63922d6169" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetRentableArea"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_NetRentableArea_fc058cbe-7992-4d91-bd8c-ac63922d6169" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f332f86a-3821-4de3-b18a-ebb3e5bc94a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_f332f86a-3821-4de3-b18a-ebb3e5bc94a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_0b3269e2-60d8-4f7b-9411-36176afab5f1" xlink:href="cgnx-20220703.xsd#cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract_0b3269e2-60d8-4f7b-9411-36176afab5f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_c7c24444-b146-4be5-85c4-191d52f686d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_c7c24444-b146-4be5-85c4-191d52f686d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_207af9a1-9f3d-4443-bd5d-088e3c1a1ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_c958ca08-9319-4ba9-ba5c-d14a037a3826" xlink:to="loc_us-gaap_OperatingLeaseLiability_207af9a1-9f3d-4443-bd5d-088e3c1a1ee5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_1f27f38c-cc3e-4ef7-b7b2-1060b35072d0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_OperatingLeaseLiability_1f27f38c-cc3e-4ef7-b7b2-1060b35072d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_dcd43201-7806-4467-ae77-b1b597c2571d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_dcd43201-7806-4467-ae77-b1b597c2571d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_1108ccb9-f88a-4f3d-bb9e-4003dd802e39" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e23db9fc-1ebe-401d-965a-822b277331c7" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_1108ccb9-f88a-4f3d-bb9e-4003dd802e39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_56350292-6684-4d43-91c2-6322a04e5950" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_56350292-6684-4d43-91c2-6322a04e5950" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_e66872dd-6542-43a6-ab87-735ab21267b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_e66872dd-6542-43a6-ab87-735ab21267b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_b77bbaa1-66f8-4222-8273-287ae56b3385" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_b77bbaa1-66f8-4222-8273-287ae56b3385" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_6bbd7116-991c-422f-a946-b1fce41abea7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_6bbd7116-991c-422f-a946-b1fce41abea7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_11ea7306-9ff4-46eb-a59f-dffac8f5c8f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_11ea7306-9ff4-46eb-a59f-dffac8f5c8f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_abcc5895-8c35-4c7f-945c-9f3b14b28d53" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_abcc5895-8c35-4c7f-945c-9f3b14b28d53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_387ce38e-b4a9-4360-98d6-be160a5caf50" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_387ce38e-b4a9-4360-98d6-be160a5caf50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0065518b-4f8b-4fbe-93c1-e8088367cc16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_344923d4-4fa4-44d6-bd08-b16032df42bb" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0065518b-4f8b-4fbe-93c1-e8088367cc16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/Goodwill" xlink:type="simple" xlink:href="cgnx-20220703.xsd#Goodwill"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Goodwill" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2b821804-02fa-4584-91e7-04689f46ba9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillDisclosureTextBlock_bf6f7e91-f9a5-4e0b-bc69-fb8d6bc5223f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2b821804-02fa-4584-91e7-04689f46ba9c" xlink:to="loc_us-gaap_GoodwillDisclosureTextBlock_bf6f7e91-f9a5-4e0b-bc69-fb8d6bc5223f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/GoodwillTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#GoodwillTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/GoodwillTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_58bd4b57-de82-4dff-940c-71d0cfcb1767" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_a3f94ece-7729-48ff-a1b3-c6668d395e34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_58bd4b57-de82-4dff-940c-71d0cfcb1767" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_a3f94ece-7729-48ff-a1b3-c6668d395e34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/GoodwillDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#GoodwillDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/GoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4b13cb72-47d9-44d9-b703-77c8fc649c70" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_3813586f-401c-4e56-ab54-0152e1fa094e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4b13cb72-47d9-44d9-b703-77c8fc649c70" xlink:to="loc_us-gaap_GoodwillRollForward_3813586f-401c-4e56-ab54-0152e1fa094e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_e9ad3ae6-c26c-4cfa-907e-0bbef64e7f0a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_3813586f-401c-4e56-ab54-0152e1fa094e" xlink:to="loc_us-gaap_Goodwill_e9ad3ae6-c26c-4cfa-907e-0bbef64e7f0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_f6df3e4c-9c18-49a8-8d3d-e58dcc18e042" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_3813586f-401c-4e56-ab54-0152e1fa094e" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_f6df3e4c-9c18-49a8-8d3d-e58dcc18e042" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_ca0bc2b8-9a40-456d-85d7-6a5e99c8229f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_3813586f-401c-4e56-ab54-0152e1fa094e" xlink:to="loc_us-gaap_Goodwill_ca0bc2b8-9a40-456d-85d7-6a5e99c8229f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssets"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_aa3ed4e1-2ecf-4fbc-966c-f1007b66089b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_ebf2b04a-633c-4579-b47e-2f4052709c84" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_aa3ed4e1-2ecf-4fbc-966c-f1007b66089b" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_ebf2b04a-633c-4579-b47e-2f4052709c84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssetsTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_06788ed1-113e-4e38-9531-320ef3df1b96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_8b7ffef1-7c6b-4b1d-a3d5-9c503bea644c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_06788ed1-113e-4e38-9531-320ef3df1b96" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_8b7ffef1-7c6b-4b1d-a3d5-9c503bea644c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9481d14f-0a71-45de-b0a8-2a5acc860bcf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_06788ed1-113e-4e38-9531-320ef3df1b96" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9481d14f-0a71-45de-b0a8-2a5acc860bcf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_479322eb-8413-4c56-b654-863fcbe08cc2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_479322eb-8413-4c56-b654-863fcbe08cc2" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_3c852198-c19e-4423-8734-68b528b40d8a" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DistributionRightsMember_afe16720-ca3e-43b9-8d90-4bf5b0418a32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DistributionRightsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_DistributionRightsMember_afe16720-ca3e-43b9-8d90-4bf5b0418a32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_c303139f-9848-4f32-b87c-11bbdb817f21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_c303139f-9848-4f32-b87c-11bbdb817f21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_f9fd6db7-fc3e-474e-88da-3dde4684d5eb" xlink:href="cgnx-20220703.xsd#cgnx_CustomerContractsAndRelationshipsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_f9fd6db7-fc3e-474e-88da-3dde4684d5eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_255ee684-7d53-49d0-9bfd-4240525c954e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIntangibleAssetsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_255ee684-7d53-49d0-9bfd-4240525c954e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_7284c618-85c8-440b-a419-c23a359c60c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_us-gaap_TrademarksMember_7284c618-85c8-440b-a419-c23a359c60c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_38447ec2-697c-45b1-b28a-71e4c60bdb64" xlink:href="cgnx-20220703.xsd#cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e13d8674-ab5e-47db-8f6d-1133573cb86a" xlink:to="loc_cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember_38447ec2-697c-45b1-b28a-71e4c60bdb64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_d139fb15-e848-42b1-bbd4-98de412abef1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_2e092763-25a6-4799-98ac-c0c970631043" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_2e092763-25a6-4799-98ac-c0c970631043" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_6c5774f2-7be0-48be-95d1-34684ba9c84b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_6c5774f2-7be0-48be-95d1-34684ba9c84b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_72adf899-5e1b-486a-817c-04b402bd5372" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_72adf899-5e1b-486a-817c-04b402bd5372" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_e2224bf4-502a-4b85-94a9-a2b89710ad87" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_5aac491f-b1f0-4459-80e0-a8655baebed6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_5aac491f-b1f0-4459-80e0-a8655baebed6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_71f2cf20-d990-483b-9fda-fb1b1d588577" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_71f2cf20-d990-483b-9fda-fb1b1d588577" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_6d141d67-feb1-4085-8911-1decc7c3c9d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_6d141d67-feb1-4085-8911-1decc7c3c9d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_f8b30cee-b469-4683-9d1f-551cdad606cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_f8b30cee-b469-4683-9d1f-551cdad606cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_340aae2c-95ea-4014-aad2-8d2faa805af0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_340aae2c-95ea-4014-aad2-8d2faa805af0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_cc4ad710-80ed-4c57-8d3f-b7c5aab75e01" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_cc4ad710-80ed-4c57-8d3f-b7c5aab75e01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_66b326c6-7f3d-4a08-86ae-127126fc104e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_ae71193e-2a68-4857-82da-aca039549ff1" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_66b326c6-7f3d-4a08-86ae-127126fc104e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails_1" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IntangibleAssetsDetails_1"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WarrantyObligations"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_b7a75fe4-3f2d-4ddb-8dc0-628ae115d575" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_6b24d637-2ec4-4adf-8430-8b831f6e7b27" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_b7a75fe4-3f2d-4ddb-8dc0-628ae115d575" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_6b24d637-2ec4-4adf-8430-8b831f6e7b27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WarrantyObligationsTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_915dbc85-1571-4594-af87-6b2107cc9eb9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_f7dd1d12-4dc5-4fd4-8c45-531e239b1f2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_915dbc85-1571-4594-af87-6b2107cc9eb9" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_f7dd1d12-4dc5-4fd4-8c45-531e239b1f2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WarrantyObligationsChangesinWarrantyObligationsDetail"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_03c1226d-8090-4b43-97ff-f2267a0f0f36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_e9d2c86c-c252-403a-b00b-3e4ae3d3d0c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_03c1226d-8090-4b43-97ff-f2267a0f0f36" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_e9d2c86c-c252-403a-b00b-3e4ae3d3d0c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_86b376fa-ef33-4905-afed-b94149728f20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_e9d2c86c-c252-403a-b00b-3e4ae3d3d0c9" xlink:to="loc_us-gaap_ProductWarrantyAccrual_86b376fa-ef33-4905-afed-b94149728f20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_fbf5db1a-dbcb-47b5-a77c-6fad4e3dd1cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_e9d2c86c-c252-403a-b00b-3e4ae3d3d0c9" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_fbf5db1a-dbcb-47b5-a77c-6fad4e3dd1cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_90ca16ed-2ef9-4451-896f-a45f2569735e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_e9d2c86c-c252-403a-b00b-3e4ae3d3d0c9" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_90ca16ed-2ef9-4451-896f-a45f2569735e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_2fb9f668-8a76-4a94-843b-16a2d8f43a3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_e9d2c86c-c252-403a-b00b-3e4ae3d3d0c9" xlink:to="loc_us-gaap_ProductWarrantyAccrual_2fb9f668-8a76-4a94-843b-16a2d8f43a3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CommitmentandContingencies" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CommitmentandContingencies"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CommitmentandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b82b55d9-6013-40fb-a70e-d1376dfbd44a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_a47ea9af-cc1f-463c-9f43-3e7f233a12a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b82b55d9-6013-40fb-a70e-d1376dfbd44a" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_a47ea9af-cc1f-463c-9f43-3e7f233a12a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/CommitmentandContingenciesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#CommitmentandContingenciesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CommitmentandContingenciesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_189113c9-e51f-4954-9050-5df104fa082e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_1846f6c0-ae10-44f8-a958-34b3e7ff2eea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_189113c9-e51f-4954-9050-5df104fa082e" xlink:to="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_1846f6c0-ae10-44f8-a958-34b3e7ff2eea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstruments"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_91e44034-3645-4e2f-924d-47f0fd3467b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8d6f555b-2293-4e36-8c7d-88a93c8de8da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_91e44034-3645-4e2f-924d-47f0fd3467b5" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8d6f555b-2293-4e36-8c7d-88a93c8de8da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8830974c-3310-4cd7-bb13-371a5c9bba03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_ca3348be-17ca-49f7-a83d-0f00a34b7902" xlink:href="cgnx-20220703.xsd#cgnx_OutstandingForwardContractsTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8830974c-3310-4cd7-bb13-371a5c9bba03" xlink:to="loc_cgnx_OutstandingForwardContractsTableTextBlock_ca3348be-17ca-49f7-a83d-0f00a34b7902" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_9e43e701-6647-4bba-8e2f-1b1772c70075" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8830974c-3310-4cd7-bb13-371a5c9bba03" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_9e43e701-6647-4bba-8e2f-1b1772c70075" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_69054116-8d8a-492b-b590-1f7f491c5619" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OffsettingAssetsTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8830974c-3310-4cd7-bb13-371a5c9bba03" xlink:to="loc_us-gaap_OffsettingAssetsTableTextBlock_69054116-8d8a-492b-b590-1f7f491c5619" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_022a52f2-0a52-4423-aa78-22e36ddde16a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_8830974c-3310-4cd7-bb13-371a5c9bba03" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_022a52f2-0a52-4423-aa78-22e36ddde16a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_3d41bdcc-0f84-4c81-856a-d0f6466cd7a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_3d41bdcc-0f84-4c81-856a-d0f6466cd7a8" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:to="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_9dcde3cd-ea07-47f5-8ba8-19a7370746c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_0bc527b6-8204-449b-88f1-a98473147ffb" xlink:to="loc_us-gaap_HedgingDesignationDomain_9dcde3cd-ea07-47f5-8ba8-19a7370746c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_ba3f9ce8-2e6f-4f05-ae99-3a80e524d6d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_9dcde3cd-ea07-47f5-8ba8-19a7370746c5" xlink:to="loc_us-gaap_NondesignatedMember_ba3f9ce8-2e6f-4f05-ae99-3a80e524d6d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_45d82992-cbc6-4e92-b7fc-904821bf3157" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_cb993bf3-dcee-4a37-a6a9-bcc9c2c4b4bd" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_45d82992-cbc6-4e92-b7fc-904821bf3157" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_287781db-ecb0-427b-b8e4-8e7860f05738" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_45d82992-cbc6-4e92-b7fc-904821bf3157" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_287781db-ecb0-427b-b8e4-8e7860f05738" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_65e7dfe3-b43f-4047-b632-1ca342c9210f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_65e7dfe3-b43f-4047-b632-1ca342c9210f" xlink:to="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:to="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_8fb83dc8-55af-412e-991b-96284b344655" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_17f3c5f0-6694-4543-8099-f92c8fb7d98a" xlink:to="loc_us-gaap_HedgingDesignationDomain_8fb83dc8-55af-412e-991b-96284b344655" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_71303a6f-7edc-4083-9d56-2ac481bcc8c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_8fb83dc8-55af-412e-991b-96284b344655" xlink:to="loc_us-gaap_NondesignatedMember_71303a6f-7edc-4083-9d56-2ac481bcc8c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:to="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CurrencyAxis_df18f4e2-b752-4c99-875f-2c2d041a3507" xlink:to="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_EUR_f8480fba-4c9c-4b82-8ad5-450ddc9f088e" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_EUR"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_EUR_f8480fba-4c9c-4b82-8ad5-450ddc9f088e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_CNY_430391a5-8603-4bba-b33b-2ab23af0f552" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_CNY"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_CNY_430391a5-8603-4bba-b33b-2ab23af0f552" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_MXN_e5909a57-410a-459c-8a94-a8a3c496403e" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_MXN"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_MXN_e5909a57-410a-459c-8a94-a8a3c496403e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_JPY_b8b24683-63fa-4828-bb7d-c9c2e09f7918" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_JPY"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_JPY_b8b24683-63fa-4828-bb7d-c9c2e09f7918" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_GBP_9209e77f-e4b1-43b9-945b-74a74c7f6ff5" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_GBP"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_GBP_9209e77f-e4b1-43b9-945b-74a74c7f6ff5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_HUF_cf763d15-3350-4c4d-877e-1008c0399864" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_HUF"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_HUF_cf763d15-3350-4c4d-877e-1008c0399864" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_KRW_732f8629-694a-4630-8714-cf80f2ee910b" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KRW"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_KRW_732f8629-694a-4630-8714-cf80f2ee910b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_CAD_ca37ecee-b4c5-41cb-9da5-edb4c7ffbcab" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_CAD"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_aa049d2b-5fc9-48d3-81aa-207777621da8" xlink:to="loc_currency_CAD_ca37ecee-b4c5-41cb-9da5-edb4c7ffbcab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLineItems_746d3e68-8eba-4545-9fb3-cfbcc0e2e8b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_c63f1fb7-5bd2-471b-8ad7-d3fd41c7b47d" xlink:to="loc_us-gaap_DerivativeLineItems_746d3e68-8eba-4545-9fb3-cfbcc0e2e8b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_610fcef3-2fb1-432a-9b41-fb8e8379f975" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetNotionalAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_746d3e68-8eba-4545-9fb3-cfbcc0e2e8b9" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_610fcef3-2fb1-432a-9b41-fb8e8379f975" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_bdb2b359-ece1-488b-97bc-337650630dfd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_bdb2b359-ece1-488b-97bc-337650630dfd" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:to="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_c29a0325-5c59-4c0b-8ab2-3bd08b3a372e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_56e6de8c-5605-4691-81ed-a4521d73034e" xlink:to="loc_us-gaap_HedgingDesignationDomain_c29a0325-5c59-4c0b-8ab2-3bd08b3a372e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_15928960-970d-4e51-b146-2b466fe93af3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_c29a0325-5c59-4c0b-8ab2-3bd08b3a372e" xlink:to="loc_us-gaap_NondesignatedMember_15928960-970d-4e51-b146-2b466fe93af3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_31c593ce-3073-4aa9-8e7f-6c51b6713144" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_5d951265-4645-44e8-831c-1c1086751582" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_5d951265-4645-44e8-831c-1c1086751582" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AccruedExpensesMember_f752bb7c-d06d-4451-b243-f9aade6571cf" xlink:href="cgnx-20220703.xsd#cgnx_AccruedExpensesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_65e4dbe3-62f6-4d35-9136-a7b7efe54080" xlink:to="loc_cgnx_AccruedExpensesMember_f752bb7c-d06d-4451-b243-f9aade6571cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_72070f48-5902-4f05-9f59-30473353aef5" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_2866e5a7-9e10-417e-97e6-d1c7bd1258d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:to="loc_us-gaap_DerivativeAssets_2866e5a7-9e10-417e-97e6-d1c7bd1258d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_26fb7528-d870-49e3-a64c-3e243c3d6067" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_502a725d-e222-4622-9680-19585d33a9b1" xlink:to="loc_us-gaap_DerivativeLiabilities_26fb7528-d870-49e3-a64c-3e243c3d6067" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsOffsettingAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_0b04a848-12dc-45e3-9e99-b03bb257e9dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_0b04a848-12dc-45e3-9e99-b03bb257e9dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_f08edc8f-b39d-4a67-b23c-164f99523ee8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_f08edc8f-b39d-4a67-b23c-164f99523ee8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_78b71447-d92f-4fb9-8c66-7d9914925d1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:to="loc_us-gaap_DerivativeAssets_78b71447-d92f-4fb9-8c66-7d9914925d1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_b9689952-f029-4479-985f-8b1bfbb1eb7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_b9689952-f029-4479-985f-8b1bfbb1eb7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_2e8ed266-bee3-4ef1-b1f9-28bbd64cc781" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_2e8ed266-bee3-4ef1-b1f9-28bbd64cc781" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_e8b31d57-3d25-4466-a41e-5a9883e12523" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9a02c563-3c6a-4c73-962d-201a4f8edc3e" xlink:to="loc_us-gaap_DerivativeLiabilities_e8b31d57-3d25-4466-a41e-5a9883e12523" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_14a75522-8bbb-4a5b-a96c-affadf9353c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_14a75522-8bbb-4a5b-a96c-affadf9353c0" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:to="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_1c54316e-dc80-4818-80ff-5ad91d78ebe5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_417c4fe6-5f38-4183-80bc-26bdf0b39ae1" xlink:to="loc_us-gaap_HedgingDesignationDomain_1c54316e-dc80-4818-80ff-5ad91d78ebe5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NondesignatedMember_c2f0c710-6f49-4682-902c-07450821735f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_1c54316e-dc80-4818-80ff-5ad91d78ebe5" xlink:to="loc_us-gaap_NondesignatedMember_c2f0c710-6f49-4682-902c-07450821735f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_18b91037-82f0-4cd5-9b50-dfaa823f5407" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_e81f16bf-509c-415b-8d74-49dc5a0394df" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_18b91037-82f0-4cd5-9b50-dfaa823f5407" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_33ca9e79-c710-4b17-801a-6c54e464380a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyGainLossMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_18b91037-82f0-4cd5-9b50-dfaa823f5407" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_33ca9e79-c710-4b17-801a-6c54e464380a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_83a987aa-d21d-421c-ba0a-e54de1b1c836" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_3edf0ffd-07c0-4ea9-b235-801d7e3791de" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_83a987aa-d21d-421c-ba0a-e54de1b1c836" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_9bf5da2d-44e4-4906-ac08-2ca0dc96baee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeGainLossOnDerivativeNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_83a987aa-d21d-421c-ba0a-e54de1b1c836" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_9bf5da2d-44e4-4906-ac08-2ca0dc96baee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognition"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_71066504-9022-4bd0-a3b9-453914d1c142" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_23ec407f-4a70-47af-a7a1-979080d09298" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_71066504-9022-4bd0-a3b9-453914d1c142" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_23ec407f-4a70-47af-a7a1-979080d09298" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_62ba831f-92e3-40fb-8b5e-55c0d9e04d23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_6d44d262-0ce0-4ad7-9bd2-baf208d20083" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_62ba831f-92e3-40fb-8b5e-55c0d9e04d23" xlink:to="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_6d44d262-0ce0-4ad7-9bd2-baf208d20083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_cc8e93e6-3db3-4f10-b289-13c56ec87bc6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_62ba831f-92e3-40fb-8b5e-55c0d9e04d23" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_cc8e93e6-3db3-4f10-b289-13c56ec87bc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_76a06e95-f022-4371-b536-c318ddfbe26a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_62ba831f-92e3-40fb-8b5e-55c0d9e04d23" xlink:to="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_76a06e95-f022-4371-b536-c318ddfbe26a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_ab495959-864b-4ede-9c88-f584eb040dcc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_62ba831f-92e3-40fb-8b5e-55c0d9e04d23" xlink:to="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_ab495959-864b-4ede-9c88-f584eb040dcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_59d31523-d3e7-439e-895f-59c5fdb3a517" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_59d31523-d3e7-439e-895f-59c5fdb3a517" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:to="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_8ee19326-6e3b-4567-94bb-84237c5a0f6e" xlink:to="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AmericasMember_ab880134-4b5b-4cb6-8af6-a14321d54044" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AmericasMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_srt_AmericasMember_ab880134-4b5b-4cb6-8af6-a14321d54044" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_f62a9480-34fa-4683-b2e4-e95aa1461cdf" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_srt_EuropeMember_f62a9480-34fa-4683-b2e4-e95aa1461cdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CN_829964f8-4c14-4e37-b0c2-25c613288e64" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_country_CN_829964f8-4c14-4e37-b0c2-25c613288e64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AsiaExcludingChinaMember_bd108fbe-e115-4d86-98cb-b2917924ce16" xlink:href="cgnx-20220703.xsd#cgnx_AsiaExcludingChinaMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_390f097c-d88e-4de1-b6d8-2469b5eae21c" xlink:to="loc_cgnx_AsiaExcludingChinaMember_bd108fbe-e115-4d86-98cb-b2917924ce16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_164bbbfd-ea87-4ead-8316-eafc2ac1a7c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_f4a61e15-7f2a-4466-8ade-813efc5918b8" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_164bbbfd-ea87-4ead-8316-eafc2ac1a7c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1af1df9e-83f6-4b0b-8d54-18bfabc5b6b1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_164bbbfd-ea87-4ead-8316-eafc2ac1a7c1" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1af1df9e-83f6-4b0b-8d54-18bfabc5b6b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4869e5ed-73de-4458-88ac-002a661ac195" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4869e5ed-73de-4458-88ac-002a661ac195" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:to="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_9a0c5ba2-3bff-4bcd-a9bb-30121632f2fe" xlink:to="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_StandardProductsandServicesMember_e6e14d51-625f-4d12-9eb7-06580e8849b4" xlink:href="cgnx-20220703.xsd#cgnx_StandardProductsandServicesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:to="loc_cgnx_StandardProductsandServicesMember_e6e14d51-625f-4d12-9eb7-06580e8849b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_15bfbdac-99e3-491d-909b-ffdb1eb57448" xlink:href="cgnx-20220703.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_f326ba30-f029-4098-8c0e-811ce2aca67a" xlink:to="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_15bfbdac-99e3-491d-909b-ffdb1eb57448" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_bfc2423f-09f8-4976-b2da-0570ba844fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_e59065f7-4620-4c60-bfd2-2080b3e9b329" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_bfc2423f-09f8-4976-b2da-0570ba844fbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_724af845-8f57-4ac8-b23e-7a0999dfc45e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_bfc2423f-09f8-4976-b2da-0570ba844fbd" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_724af845-8f57-4ac8-b23e-7a0999dfc45e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dd90b7df-5ad4-422a-a644-be3b634a9587" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostGross_d93e92a3-28df-4539-9ee2-7d1a2d6daf5d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedContractCostGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dd90b7df-5ad4-422a-a644-be3b634a9587" xlink:to="loc_us-gaap_CapitalizedContractCostGross_d93e92a3-28df-4539-9ee2-7d1a2d6daf5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionScheduleofAllowanceforCreditLossDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_829504ac-b1d6-4668-a365-e724054bf744" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_00e58f81-e30f-47b2-ba31-7fbd6d64ab3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_829504ac-b1d6-4668-a365-e724054bf744" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_00e58f81-e30f-47b2-ba31-7fbd6d64ab3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_e5d4ea19-42a5-4559-bc62-214d1375eb9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_00e58f81-e30f-47b2-ba31-7fbd6d64ab3a" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_e5d4ea19-42a5-4559-bc62-214d1375eb9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_8d789138-6af2-47db-a7a2-65013de73895" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_00e58f81-e30f-47b2-ba31-7fbd6d64ab3a" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_8d789138-6af2-47db-a7a2-65013de73895" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment_7791119f-fc6e-4dff-b66f-a25fc56c345b" xlink:href="cgnx-20220703.xsd#cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_00e58f81-e30f-47b2-ba31-7fbd6d64ab3a" xlink:to="loc_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment_7791119f-fc6e-4dff-b66f-a25fc56c345b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4bb4b2da-e9d2-428a-aefe-3b8f4198e120" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_00e58f81-e30f-47b2-ba31-7fbd6d64ab3a" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4bb4b2da-e9d2-428a-aefe-3b8f4198e120" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#RevenueRecognitionDeferredRevenueActivityDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_0e5eb205-de07-4260-aedb-d1043e62b01f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInDeferredRevenueRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_0e5eb205-de07-4260-aedb-d1043e62b01f" xlink:to="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenue_980df9ec-6e70-49f7-aae6-bcca3765bad3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:to="loc_us-gaap_DeferredRevenue_980df9ec-6e70-49f7-aae6-bcca3765bad3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueAdditions_a650b833-d0c0-4589-ae9e-d7c9ab9930e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueAdditions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:to="loc_us-gaap_DeferredRevenueAdditions_a650b833-d0c0-4589-ae9e-d7c9ab9930e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueRevenueRecognized1_83aeca3e-8ac5-43a9-974c-06ae5ec3e46f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueRevenueRecognized1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:to="loc_us-gaap_DeferredRevenueRevenueRecognized1_83aeca3e-8ac5-43a9-974c-06ae5ec3e46f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_8e744709-66ae-4743-a5aa-bb21e94d92cc" xlink:href="cgnx-20220703.xsd#cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:to="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_8e744709-66ae-4743-a5aa-bb21e94d92cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenue_e9e3b0d9-19e2-4b1c-b5f9-135515ed0bfd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_7b47f0c1-adbf-463b-9306-55691acb42d2" xlink:to="loc_us-gaap_DeferredRevenue_e9e3b0d9-19e2-4b1c-b5f9-135515ed0bfd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpense"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_96273e57-2ae5-4096-ade1-2f96e56a7f1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_b49b9e15-2f5b-4841-8269-f9bb58903deb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_96273e57-2ae5-4096-ade1-2f96e56a7f1c" xlink:to="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_b49b9e15-2f5b-4841-8269-f9bb58903deb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9e8d55a4-ca9d-4f9b-b0d9-eba9bda2dbec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_d5348096-9b30-49c9-ac3c-a6218fbe8e49" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9e8d55a4-ca9d-4f9b-b0d9-eba9bda2dbec" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_d5348096-9b30-49c9-ac3c-a6218fbe8e49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_7cf50f0e-1cc7-4ae9-bb23-d46b1fa71b62" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9e8d55a4-ca9d-4f9b-b0d9-eba9bda2dbec" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_7cf50f0e-1cc7-4ae9-bb23-d46b1fa71b62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_c94bff49-deec-45e8-ac02-9a5ce8127402" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9e8d55a4-ca9d-4f9b-b0d9-eba9bda2dbec" xlink:to="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_c94bff49-deec-45e8-ac02-9a5ce8127402" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_eea462c7-136e-4846-863d-8b10692a4a66" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9e8d55a4-ca9d-4f9b-b0d9-eba9bda2dbec" xlink:to="loc_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_eea462c7-136e-4846-863d-8b10692a4a66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_03935166-a157-4177-8912-ade26d6a274c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9e8d55a4-ca9d-4f9b-b0d9-eba9bda2dbec" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_03935166-a157-4177-8912-ade26d6a274c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_58bf5a5f-a8fb-4bd2-80b2-61baf6fd7bc0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_58bf5a5f-a8fb-4bd2-80b2-61baf6fd7bc0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_b63453c7-d57a-4545-95ae-4788fa2c9337" xlink:to="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f1fbbb5a-1f6c-4a11-a859-bf85dec9a8dc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:to="loc_srt_MinimumMember_f1fbbb5a-1f6c-4a11-a859-bf85dec9a8dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ade3eb41-bf4f-4ef9-a4bc-0ccfc4865d09" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_229d5ef1-b63d-4f75-8299-df15bc6c32a1" xlink:to="loc_srt_MaximumMember_ade3eb41-bf4f-4ef9-a4bc-0ccfc4865d09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_940f8f3b-a594-4f71-9141-7139edca2430" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_0501db7f-1bb0-47bd-996b-65d4a163bb60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:to="loc_us-gaap_EmployeeStockOptionMember_0501db7f-1bb0-47bd-996b-65d4a163bb60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_bef63f91-9de6-4a5d-8104-00f8ab790e73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_bef63f91-9de6-4a5d-8104-00f8ab790e73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_e6f3f10a-3ad5-4b79-822a-123cd8049c94" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_046bf30d-cd70-4efc-a6ce-b1e6ca0341b2" xlink:to="loc_us-gaap_PerformanceSharesMember_e6f3f10a-3ad5-4b79-822a-123cd8049c94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_1b82f937-87f7-4219-ae34-e804d602dd87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_60135387-cadb-4857-b086-495957e09452" xlink:to="loc_us-gaap_PlanNameDomain_1b82f937-87f7-4219-ae34-e804d602dd87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_97987020-70ed-45fa-bcc4-4eaf6172d208" xlink:href="cgnx-20220703.xsd#cgnx_GeneralStockOptionPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_1b82f937-87f7-4219-ae34-e804d602dd87" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_97987020-70ed-45fa-bcc4-4eaf6172d208" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_cd44297e-c4c2-4d62-8e76-94d584f41c4c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_fc76df93-31af-4c98-9920-9ca60c2b262a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_fc76df93-31af-4c98-9920-9ca60c2b262a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_0b46a6c1-7399-40ca-a912-7716706f2b26" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_0b46a6c1-7399-40ca-a912-7716706f2b26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_990e18f9-3ed3-4ead-9aa2-dd79cbcbba9f" xlink:href="cgnx-20220703.xsd#cgnx_ExpirationPeriodOfStockOptionPlan"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_990e18f9-3ed3-4ead-9aa2-dd79cbcbba9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_569b343d-897b-4a35-a795-79454c82cf67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_569b343d-897b-4a35-a795-79454c82cf67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_0853cd5a-aa78-4fc0-ab7b-6d385814f7ab" xlink:href="cgnx-20220703.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_0853cd5a-aa78-4fc0-ab7b-6d385814f7ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_46957938-c0de-4f65-b371-65f5815fa684" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_46957938-c0de-4f65-b371-65f5815fa684" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c9ec15cc-0a33-4cae-b042-518debd55c90" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c9ec15cc-0a33-4cae-b042-518debd55c90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_e27739ff-029f-4964-a3e0-98da462e3449" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_e27739ff-029f-4964-a3e0-98da462e3449" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_e172c107-4fae-4677-bf5f-5c14d3eba8e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_e172c107-4fae-4677-bf5f-5c14d3eba8e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_cccc86a8-61ba-48c6-9a90-172d2ac883b6" xlink:href="cgnx-20220703.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_cccc86a8-61ba-48c6-9a90-172d2ac883b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_87ce2e55-cf52-4d58-8c5a-7f7240f119bb" xlink:href="cgnx-20220703.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_87ce2e55-cf52-4d58-8c5a-7f7240f119bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_9b4baeaf-b704-4774-b05a-6002ac36dda5" xlink:href="cgnx-20220703.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_9b4baeaf-b704-4774-b05a-6002ac36dda5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_e08fe983-765d-41f0-87aa-e3c658e0863c" xlink:href="cgnx-20220703.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_e08fe983-765d-41f0-87aa-e3c658e0863c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_a934902f-e469-40cc-a2be-1c2b34e10193" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_a934902f-e469-40cc-a2be-1c2b34e10193" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_d0c24d0f-279e-4e83-9c70-4244f314500c" xlink:href="cgnx-20220703.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_d0c24d0f-279e-4e83-9c70-4244f314500c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_05217732-f333-4959-a808-fdaccdb83aa3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_05217732-f333-4959-a808-fdaccdb83aa3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_99ac2b38-8cc4-4bfc-bc12-fa41f222c558" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_99ac2b38-8cc4-4bfc-bc12-fa41f222c558" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_60d17ac5-d889-43e6-9ed5-4a03b5e95f00" xlink:href="cgnx-20220703.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3172fd8c-2f32-4812-b49e-5a8a14181ffa" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_60d17ac5-d889-43e6-9ed5-4a03b5e95f00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_270bb4e9-38e7-482e-8eb6-5858356b277b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_270bb4e9-38e7-482e-8eb6-5858356b277b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_e8c1b602-1b9b-4f02-acf2-2302cf3016ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_e8c1b602-1b9b-4f02-acf2-2302cf3016ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_69a889e7-8200-4071-9d24-82756ea8f5c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_69a889e7-8200-4071-9d24-82756ea8f5c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_32da9151-4136-4c43-b6ee-db8e48ab47a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_32da9151-4136-4c43-b6ee-db8e48ab47a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_5a99e935-3990-4716-8bce-0c99fd41de88" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_c1ce988b-ce11-4b64-9c0f-6f13561c9eaf" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_5a99e935-3990-4716-8bce-0c99fd41de88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_e84d84b9-35b0-4edd-a41f-5e0794265ed0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_e84d84b9-35b0-4edd-a41f-5e0794265ed0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_a37a1887-f60f-49c0-8671-a6c081c750ea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_a37a1887-f60f-49c0-8671-a6c081c750ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_d7951ca6-582b-43e0-af36-a59f411af43b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_d7951ca6-582b-43e0-af36-a59f411af43b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_588a55c1-9589-48ab-be80-e9751237146e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_588a55c1-9589-48ab-be80-e9751237146e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3d7fb09a-dea7-41dc-90a3-d93e48c05847" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3d7fb09a-dea7-41dc-90a3-d93e48c05847" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_288db3d2-eba5-47b0-9f9a-0cae7958c81d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_288db3d2-eba5-47b0-9f9a-0cae7958c81d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_ebf99947-7838-48e3-ac9d-d39804af5000" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11a15343-2a29-427b-8340-e4dfcd8c3fbc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_ebf99947-7838-48e3-ac9d-d39804af5000" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_fe0dddfd-0c7e-47ab-85cd-7e727ba5391e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_fe0dddfd-0c7e-47ab-85cd-7e727ba5391e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_88f932a7-4239-449b-9a55-2c63ccd8987e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_88f932a7-4239-449b-9a55-2c63ccd8987e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_f5d79e3e-1c09-4ef8-b547-dcd661ae51fb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_f5d79e3e-1c09-4ef8-b547-dcd661ae51fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_269d94d1-b13f-41d0-b05c-351b6535a3c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_f5d79e3e-1c09-4ef8-b547-dcd661ae51fb" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_269d94d1-b13f-41d0-b05c-351b6535a3c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_982ea414-e3b3-44bc-8040-86de91a3cf95" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_f5d79e3e-1c09-4ef8-b547-dcd661ae51fb" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_982ea414-e3b3-44bc-8040-86de91a3cf95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3b230328-eec7-4499-b277-9ce02f5f5c29" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_f5d79e3e-1c09-4ef8-b547-dcd661ae51fb" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_3b230328-eec7-4499-b277-9ce02f5f5c29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_b1258c62-100d-46f4-90b0-bb85afebf15e" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_f108e393-56d0-4ff7-a8e4-22917bbaa9b0" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_b1258c62-100d-46f4-90b0-bb85afebf15e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_040dfac5-fa1f-49c6-95e8-686a8a1e365a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_b1258c62-100d-46f4-90b0-bb85afebf15e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_040dfac5-fa1f-49c6-95e8-686a8a1e365a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_afdd631e-862c-4e41-89ab-c0eb564f0ecc" xlink:href="cgnx-20220703.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_b1258c62-100d-46f4-90b0-bb85afebf15e" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_afdd631e-862c-4e41-89ab-c0eb564f0ecc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_3dea834f-6816-4ee7-b4a6-550376cfe24f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_b1258c62-100d-46f4-90b0-bb85afebf15e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_3dea834f-6816-4ee7-b4a6-550376cfe24f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_564cc715-6bfe-4892-8030-31330e463575" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2b2ac09c-302b-4416-9000-39d8d831cb37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_564cc715-6bfe-4892-8030-31330e463575" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2b2ac09c-302b-4416-9000-39d8d831cb37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_5fe59129-3cdd-4533-9085-85fb8bbed29a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_564cc715-6bfe-4892-8030-31330e463575" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_5fe59129-3cdd-4533-9085-85fb8bbed29a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_63fef0d8-9b83-4e68-95b1-e7a63461c001" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_564cc715-6bfe-4892-8030-31330e463575" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_63fef0d8-9b83-4e68-95b1-e7a63461c001" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_277ed2d6-b2de-4faa-bf53-d91d984ce082" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_564cc715-6bfe-4892-8030-31330e463575" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_277ed2d6-b2de-4faa-bf53-d91d984ce082" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_e79d3d5b-2b39-4b6a-a4e7-94b85fffca11" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_e79d3d5b-2b39-4b6a-a4e7-94b85fffca11" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:to="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7d5974bd-0972-411d-9cad-3f5493e4f99f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_d9c30746-666e-4a1c-a589-438876de3c8f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7d5974bd-0972-411d-9cad-3f5493e4f99f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_2a3ce49a-d8d7-4f2e-9ab5-bb462db3d634" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7d5974bd-0972-411d-9cad-3f5493e4f99f" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_2a3ce49a-d8d7-4f2e-9ab5-bb462db3d634" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b8fc541f-2be9-4f9d-ad5b-4a317c2e8af0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_52fc24cf-5f0f-4b89-af28-77e8829d0403" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_52fc24cf-5f0f-4b89-af28-77e8829d0403" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a74fb9ec-78b7-4fdd-b406-fdabb9e3f0f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_a74fb9ec-78b7-4fdd-b406-fdabb9e3f0f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_904fcd69-67f1-44a2-80f1-88a5f0f3989b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_904fcd69-67f1-44a2-80f1-88a5f0f3989b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28477f87-3328-45c6-b190-472f673dba52" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_28477f87-3328-45c6-b190-472f673dba52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_c97ef267-6a0f-4829-be0f-e3f3bf1eb47d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_d2de1938-0d90-4ab1-ae16-677def972bc7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_c97ef267-6a0f-4829-be0f-e3f3bf1eb47d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee754461-e02a-4a16-a2eb-6f6e4d671bc6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_626c867f-6abe-4029-88f8-37a19576a420" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_626c867f-6abe-4029-88f8-37a19576a420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_18a02e10-ab01-4556-8114-e6c0e268f5e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_18a02e10-ab01-4556-8114-e6c0e268f5e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_67adf0c9-0b92-4b15-9b95-80c0ea14c2c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_67adf0c9-0b92-4b15-9b95-80c0ea14c2c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_83e21213-b454-42be-aa85-b1ec33f4b7c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_83e21213-b454-42be-aa85-b1ec33f4b7c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_75e1fb3f-7e85-49f0-8129-dddc62a2ae91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_c549647c-c636-4da6-aff7-2fdbf9a2a11f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_75e1fb3f-7e85-49f0-8129-dddc62a2ae91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2679d507-6724-45b4-bd2a-69819d9b5997" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2679d507-6724-45b4-bd2a-69819d9b5997" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:to="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_19be0322-22f7-4604-a1b6-c32a15dd7feb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_0d66dda1-97e8-4af7-8e11-86442524f22d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_19be0322-22f7-4604-a1b6-c32a15dd7feb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_b4ef45c4-8caa-407d-85d4-3f828a2995e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_19be0322-22f7-4604-a1b6-c32a15dd7feb" xlink:to="loc_us-gaap_PerformanceSharesMember_b4ef45c4-8caa-407d-85d4-3f828a2995e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a26321df-6183-4bd3-b2e2-5cc8b54e6eb3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46d0800e-2ea7-4954-ba8f-29fe1c9d0122" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46d0800e-2ea7-4954-ba8f-29fe1c9d0122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c58d0545-bfd5-45f7-a069-498a34d8ae43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c58d0545-bfd5-45f7-a069-498a34d8ae43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b1ab20e2-a1a3-4038-92e4-77daebda6952" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b1ab20e2-a1a3-4038-92e4-77daebda6952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_9f74a33d-5c9f-4dca-b69d-2c558e5aeb6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_9f74a33d-5c9f-4dca-b69d-2c558e5aeb6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2741b3d8-70e5-48cd-b9d0-eb935f8098b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_286b2141-2f81-41b1-9401-c578e365a71e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2741b3d8-70e5-48cd-b9d0-eb935f8098b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_8fba9917-496e-49c5-b501-2f400da59619" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c1215a9f-7ff1-4c32-b5a0-77662eaebb37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c1215a9f-7ff1-4c32-b5a0-77662eaebb37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_10c971aa-23f0-4610-a2a2-8f2a03b927a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_10c971aa-23f0-4610-a2a2-8f2a03b927a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_39399cc5-0422-479e-818e-86905bc8298f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_39399cc5-0422-479e-818e-86905bc8298f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fec6931b-5be4-4972-93dc-d9fbbe1ce097" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_fec6931b-5be4-4972-93dc-d9fbbe1ce097" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7cbdf401-2ac5-416f-87f6-873bf7e04d93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_72105ca2-22da-4833-adde-11a15a95da35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7cbdf401-2ac5-416f-87f6-873bf7e04d93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_f982feea-fa13-4543-a845-a388c754127c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_f982feea-fa13-4543-a845-a388c754127c" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_01922395-0e8f-4a2a-808c-89010109b47f" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_934a6d58-c83d-4db6-8365-8714a57ed318" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsTotalMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_934a6d58-c83d-4db6-8365-8714a57ed318" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_96e5be65-1d5b-467f-abd2-ebf6db50e4ff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_96e5be65-1d5b-467f-abd2-ebf6db50e4ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_4b7c0a70-e1d0-438a-9b2d-25728ba0ed85" xlink:href="cgnx-20220703.xsd#cgnx_SellingGeneralAndAdministrativeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_362c8614-f2d8-44ef-89de-920d949727a8" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_4b7c0a70-e1d0-438a-9b2d-25728ba0ed85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_67ef88ad-5b07-4559-b87e-c8bdca064146" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_f982feea-fa13-4543-a845-a388c754127c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_67ef88ad-5b07-4559-b87e-c8bdca064146" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_8cf4787b-5d05-4b98-94c5-5c6482d7af59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_67ef88ad-5b07-4559-b87e-c8bdca064146" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_8cf4787b-5d05-4b98-94c5-5c6482d7af59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockRepurchaseProgram"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_6327eabc-5164-4408-a17a-420121ccf04b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_6f2a79b7-4460-48a8-ad2a-eac018b7cfcf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6327eabc-5164-4408-a17a-420121ccf04b" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_6f2a79b7-4460-48a8-ad2a-eac018b7cfcf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#StockRepurchaseProgramDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_f62a6e8b-6feb-4e48-8428-f2edbb5a82bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f62a6e8b-6feb-4e48-8428-f2edbb5a82bf" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_fc19fb09-3fce-4c2c-84ea-aadbbecc733f" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_RepurchaseProgramMarch2020Member_48e41fc9-318a-4b45-8869-2848cd092d7d" xlink:href="cgnx-20220703.xsd#cgnx_RepurchaseProgramMarch2020Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:to="loc_cgnx_RepurchaseProgramMarch2020Member_48e41fc9-318a-4b45-8869-2848cd092d7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_RepurchaseProgramMarch2022Member_cffe116b-c2af-4499-8bfd-7ed050ae52ce" xlink:href="cgnx-20220703.xsd#cgnx_RepurchaseProgramMarch2022Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_3153517d-2710-408d-9154-2438743c742b" xlink:to="loc_cgnx_RepurchaseProgramMarch2022Member_cffe116b-c2af-4499-8bfd-7ed050ae52ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityClassOfTreasuryStockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_d67ff429-97eb-456d-8268-a5e5609168dd" xlink:to="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_8ac3eefb-c144-4c2b-b9da-6c974032ff59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_8ac3eefb-c144-4c2b-b9da-6c974032ff59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRedeemedOrCalledDuringPeriodShares_90549003-17e8-4dd7-a1a7-346206e10e31" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodShares"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRedeemedOrCalledDuringPeriodShares_90549003-17e8-4dd7-a1a7-346206e10e31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRedeemedOrCalledDuringPeriodValue_ba937d14-8006-4820-ba76-407f0af5e7f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRedeemedOrCalledDuringPeriodValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRedeemedOrCalledDuringPeriodValue_ba937d14-8006-4820-ba76-407f0af5e7f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_25779842-1f7f-4229-8c53-4b739f6b2b5b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_5b309ec5-eda9-477e-8bb4-9a05558d3fae" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_25779842-1f7f-4229-8c53-4b739f6b2b5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IncomeTaxes" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5ac84f91-ef36-4e5b-a094-6bdd47cfe5e4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_7d2071aa-2441-423b-ace2-6f646395c17a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5ac84f91-ef36-4e5b-a094-6bdd47cfe5e4" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_7d2071aa-2441-423b-ace2-6f646395c17a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#IncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_ea372560-25c5-46a2-9d07-ae3a14bd5e70" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ea372560-25c5-46a2-9d07-ae3a14bd5e70" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_0917e320-da94-467e-aa66-3554b87f1e5f" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_df3938cb-ff9c-4183-b7f6-10e7e0d44db0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:to="loc_us-gaap_ForeignCountryMember_df3938cb-ff9c-4183-b7f6-10e7e0d44db0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_ca2b68be-ce15-40f9-848e-fc4c92add8de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_09ce3176-f2f6-4b46-9984-6a757a0f277e" xlink:to="loc_us-gaap_DomesticCountryMember_ca2b68be-ce15-40f9-848e-fc4c92add8de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_2e737c0c-1a39-4afd-b154-58dc96c81d9d" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_53750a17-bbf6-40cd-8c19-31c2008d1f1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueCommissionersIrelandMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_53750a17-bbf6-40cd-8c19-31c2008d1f1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_9272161d-4d3b-438d-a8c2-371a9a9df684" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAdministrationOfTaxationChinaMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_9272161d-4d3b-438d-a8c2-371a9a9df684" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_KP_61cb1e6d-1ee9-4e46-ac38-b385d2527a1f" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KP"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_a06f1130-4133-4b9a-85b1-08dda31fdb38" xlink:to="loc_country_KP_61cb1e6d-1ee9-4e46-ac38-b385d2527a1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_1af7e0af-849b-4243-9bcd-7d693de33d8a" xlink:to="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e00ed585-dd3e-4ee8-8a4e-dafc108f0e7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_e00ed585-dd3e-4ee8-8a4e-dafc108f0e7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_5a78ab45-c50f-4b64-8478-b4043459a87a" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount_5a78ab45-c50f-4b64-8478-b4043459a87a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_0800a22b-a0c1-4fee-882f-c9254403ce2f" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount_0800a22b-a0c1-4fee-882f-c9254403ce2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxSettlements_a550ac5a-2704-470b-a6e4-a754724ecb8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxSettlements"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxSettlements_a550ac5a-2704-470b-a6e4-a754724ecb8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_df24e52f-5cfc-4503-b9d1-476d8f765df3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_df24e52f-5cfc-4503-b9d1-476d8f765df3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_0d09a816-f616-4fc7-9888-7b6793fba48e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_0d09a816-f616-4fc7-9888-7b6793fba48e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_444dbf6f-167d-44a2-a050-181d5d15a110" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_444dbf6f-167d-44a2-a050-181d5d15a110" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_1b5233fe-9801-48e5-b227-80eff9a61ea4" xlink:href="cgnx-20220703.xsd#cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent_1b5233fe-9801-48e5-b227-80eff9a61ea4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_33397005-621d-4f07-86ae-60c837c69f81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_33397005-621d-4f07-86ae-60c837c69f81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_0bdedd7a-6c0a-4395-91cf-3a7bd2e3df42" xlink:href="cgnx-20220703.xsd#cgnx_LiabilityForUncertainTaxPositions"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_LiabilityForUncertainTaxPositions_0bdedd7a-6c0a-4395-91cf-3a7bd2e3df42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_21d4c676-557f-4f6e-9743-bd907683883f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_21d4c676-557f-4f6e-9743-bd907683883f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredLiabilities_bd870159-3935-4bd2-b6ba-aa45899f4166" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredLiabilities"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredLiabilities_bd870159-3935-4bd2-b6ba-aa45899f4166" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_37bee63e-2448-4a19-82b9-3044000eecc4" xlink:href="cgnx-20220703.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_37bee63e-2448-4a19-82b9-3044000eecc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_296bcebd-d7b7-46b1-92d6-a301ce714537" xlink:href="cgnx-20220703.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_296bcebd-d7b7-46b1-92d6-a301ce714537" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities_98f56cb1-9ca1-4f9f-9de1-586510fa66f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3c6af478-c5c7-4b49-b7b0-928bbcf5df9b" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities_98f56cb1-9ca1-4f9f-9de1-586510fa66f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WeightedAverageShares"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_017fcedc-0a54-4e11-9eaf-4b680bf30e9e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_f51e1419-273c-47fd-addb-8be9317b5e0d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_017fcedc-0a54-4e11-9eaf-4b680bf30e9e" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_f51e1419-273c-47fd-addb-8be9317b5e0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WeightedAverageSharesTables"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_607c3258-2e23-4c64-a80b-899f29f3037b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_f34bcefd-0985-4b4f-936a-53d76174922e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_607c3258-2e23-4c64-a80b-899f29f3037b" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_f34bcefd-0985-4b4f-936a-53d76174922e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WeightedAverageSharesCalculationofWeightedAverageSharesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_c1b404b9-d14a-45bb-870b-40693658681a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_cf5a07c7-7614-4be2-b6a1-0d82b2925cb3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c1b404b9-d14a-45bb-870b-40693658681a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_cf5a07c7-7614-4be2-b6a1-0d82b2925cb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_cb008f46-4e1e-4683-b7ad-f189df415efd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c1b404b9-d14a-45bb-870b-40693658681a" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_cb008f46-4e1e-4683-b7ad-f189df415efd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_36058a21-fadc-46fd-a5b9-42efde0d687c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_c1b404b9-d14a-45bb-870b-40693658681a" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_36058a21-fadc-46fd-a5b9-42efde0d687c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#WeightedAverageSharesDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_82e6ac4a-0472-4459-88b6-4de03627d2c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_82e6ac4a-0472-4459-88b6-4de03627d2c0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_2cba3aaa-3bd5-4c91-a76b-87aec735fb41" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_9df48ab5-ad61-4074-a89b-446c52fa67a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:to="loc_us-gaap_EmployeeStockOptionMember_9df48ab5-ad61-4074-a89b-446c52fa67a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_f87adc81-5221-479b-9684-322a5a68eb08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:to="loc_us-gaap_RestrictedStockMember_f87adc81-5221-479b-9684-322a5a68eb08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_1180c7b2-3701-41d8-a61d-f88be99f3746" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_0c1c4306-8fae-457e-8d1d-cd3688b09939" xlink:to="loc_us-gaap_PerformanceSharesMember_1180c7b2-3701-41d8-a61d-f88be99f3746" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_95dd5c52-cfe5-4955-842e-b341793416f6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_5c1636cf-358e-480c-9403-102d1abf4f35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_95dd5c52-cfe5-4955-842e-b341793416f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab6c3c94-ac36-4fcf-8f95-a5714af1be7b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_95dd5c52-cfe5-4955-842e-b341793416f6" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_ab6c3c94-ac36-4fcf-8f95-a5714af1be7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LossfromFire" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LossfromFire"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LossfromFire" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CatastropheAbstract_d35eb10a-3d9a-415a-9a50-fd71b83e2a24" xlink:href="cgnx-20220703.xsd#cgnx_CatastropheAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_LossFromCatastropheTextBlock_d5907152-1a60-4d4d-8f97-7162fdf850fb" xlink:href="cgnx-20220703.xsd#cgnx_LossFromCatastropheTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CatastropheAbstract_d35eb10a-3d9a-415a-9a50-fd71b83e2a24" xlink:to="loc_cgnx_LossFromCatastropheTextBlock_d5907152-1a60-4d4d-8f97-7162fdf850fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/LossfromFireDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#LossfromFireDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LossfromFireDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_CatastropheAbstract_d8311edb-6337-4270-ae66-9019433f771d" xlink:href="cgnx-20220703.xsd#cgnx_CatastropheAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cgnx_GrossLossFromCatastrophes_8099806a-662a-4e88-8029-8b02d624b65c" xlink:href="cgnx-20220703.xsd#cgnx_GrossLossFromCatastrophes"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CatastropheAbstract_d8311edb-6337-4270-ae66-9019433f771d" xlink:to="loc_cgnx_GrossLossFromCatastrophes_8099806a-662a-4e88-8029-8b02d624b65c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_9cc8a045-c101-4d2d-9fb0-1b66bc1f481b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CatastropheAbstract_d8311edb-6337-4270-ae66-9019433f771d" xlink:to="loc_us-gaap_InventoryWriteDown_9cc8a045-c101-4d2d-9fb0-1b66bc1f481b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetImpairmentCharges_9bbea0f8-42e5-4015-bc46-bca3995d148f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CatastropheAbstract_d8311edb-6337-4270-ae66-9019433f771d" xlink:to="loc_us-gaap_AssetImpairmentCharges_9bbea0f8-42e5-4015-bc46-bca3995d148f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimatedInsuranceRecoveries_137e28b1-8b0a-4ed2-86c1-d1a1a04c7102" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EstimatedInsuranceRecoveries"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CatastropheAbstract_d8311edb-6337-4270-ae66-9019433f771d" xlink:to="loc_us-gaap_EstimatedInsuranceRecoveries_137e28b1-8b0a-4ed2-86c1-d1a1a04c7102" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LossFromCatastrophes_cb4d0ce8-ea14-4940-8807-c18104d21e82" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossFromCatastrophes"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CatastropheAbstract_d8311edb-6337-4270-ae66-9019433f771d" xlink:to="loc_us-gaap_LossFromCatastrophes_cb4d0ce8-ea14-4940-8807-c18104d21e82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:type="simple" xlink:href="cgnx-20220703.xsd#SubsequentEvents"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_d95e8951-f3d0-408c-87a0-41cd2be5ad6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_9470f761-6a8e-4886-90db-27ee0d645e76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_d95e8951-f3d0-408c-87a0-41cd2be5ad6a" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_9470f761-6a8e-4886-90db-27ee0d645e76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="cgnx-20220703.xsd#SubsequentEventsDetails"/>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_5355e70b-60fe-4af4-8e5c-f245ad60d4df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_5355e70b-60fe-4af4-8e5c-f245ad60d4df" xlink:to="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_cd15deb6-88a4-439b-a801-e28a0cba0a50" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_7d7e72f2-3479-444a-9c90-b178e623d243" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_cd15deb6-88a4-439b-a801-e28a0cba0a50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_aca001ad-7b95-4f5a-8a2b-8f939242b7ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_cd15deb6-88a4-439b-a801-e28a0cba0a50" xlink:to="loc_us-gaap_SubsequentEventMember_aca001ad-7b95-4f5a-8a2b-8f939242b7ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_c6c70ba8-c4f5-4292-a1ed-7609cc31a81f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_928f0309-145f-427f-9cc0-506d750ecec1" xlink:to="loc_us-gaap_SubsequentEventLineItems_c6c70ba8-c4f5-4292-a1ed-7609cc31a81f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_79846179-aa1b-4e80-b54e-ba8b06c69f92" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_c6c70ba8-c4f5-4292-a1ed-7609cc31a81f" xlink:to="loc_us-gaap_CommonStockDividendsPerShareDeclared_79846179-aa1b-4e80-b54e-ba8b06c69f92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644973946352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 03, 2022 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jul.  03,  2022<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34218<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">COGNEX CORP<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">04-2713778<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Vision Drive<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Natick<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">01760<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">508<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">650-3000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $.002 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CGNX<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="nump">173,396,962<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000851205<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644975095328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 274,628<span></span>
</td>
<td class="nump">$ 269,158<span></span>
</td>
<td class="nump">$ 557,035<span></span>
</td>
<td class="nump">$ 508,185<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">78,143<span></span>
</td>
<td class="nump">68,432<span></span>
</td>
<td class="nump">156,933<span></span>
</td>
<td class="nump">122,477<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross margin</a></td>
<td class="nump">196,485<span></span>
</td>
<td class="nump">200,726<span></span>
</td>
<td class="nump">400,102<span></span>
</td>
<td class="nump">385,708<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research, development, and engineering expenses</a></td>
<td class="nump">33,991<span></span>
</td>
<td class="nump">31,302<span></span>
</td>
<td class="nump">70,045<span></span>
</td>
<td class="nump">65,407<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expenses</a></td>
<td class="nump">79,950<span></span>
</td>
<td class="nump">76,843<span></span>
</td>
<td class="nump">160,785<span></span>
</td>
<td class="nump">149,267<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossFromCatastrophes', window );">Loss from fire (Note 17)</a></td>
<td class="nump">17,403<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">17,403<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">65,141<span></span>
</td>
<td class="nump">92,581<span></span>
</td>
<td class="nump">151,869<span></span>
</td>
<td class="nump">171,034<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign currency gain (loss)</a></td>
<td class="num">(2,043)<span></span>
</td>
<td class="num">(639)<span></span>
</td>
<td class="num">(2,487)<span></span>
</td>
<td class="num">(1,647)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNonoperating', window );">Investment income</a></td>
<td class="nump">1,505<span></span>
</td>
<td class="nump">1,723<span></span>
</td>
<td class="nump">2,973<span></span>
</td>
<td class="nump">3,277<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense)</a></td>
<td class="num">(188)<span></span>
</td>
<td class="num">(127)<span></span>
</td>
<td class="num">(236)<span></span>
</td>
<td class="num">(295)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income tax expense</a></td>
<td class="nump">64,415<span></span>
</td>
<td class="nump">93,538<span></span>
</td>
<td class="nump">152,119<span></span>
</td>
<td class="nump">172,369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">5,514<span></span>
</td>
<td class="nump">15,940<span></span>
</td>
<td class="nump">25,885<span></span>
</td>
<td class="nump">24,923<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 58,901<span></span>
</td>
<td class="nump">$ 77,598<span></span>
</td>
<td class="nump">$ 126,234<span></span>
</td>
<td class="nump">$ 147,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDilutedAbstract', window );"><strong>Net income per weighted-average common and common-equivalent share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Basic (usd per share)</a></td>
<td class="nump">$ 0.34<span></span>
</td>
<td class="nump">$ 0.44<span></span>
</td>
<td class="nump">$ 0.73<span></span>
</td>
<td class="nump">$ 0.84<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (usd per share)</a></td>
<td class="nump">$ 0.34<span></span>
</td>
<td class="nump">$ 0.43<span></span>
</td>
<td class="nump">$ 0.72<span></span>
</td>
<td class="nump">$ 0.82<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted-average common and common-equivalent shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (shares)</a></td>
<td class="nump">173,507<span></span>
</td>
<td class="nump">176,626<span></span>
</td>
<td class="nump">173,830<span></span>
</td>
<td class="nump">176,454<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (shares)</a></td>
<td class="nump">174,993<span></span>
</td>
<td class="nump">179,991<span></span>
</td>
<td class="nump">175,874<span></span>
</td>
<td class="nump">179,982<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareCashPaid', window );">Cash dividends per common share (usd per share)</a></td>
<td class="nump">$ 0.065<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.130<span></span>
</td>
<td class="nump">$ 0.120<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends paid during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossFromCatastrophes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The charge against earnings in the period for the uninsured portion of a loss from a fire, explosion, or natural disaster (hurricane, earthquake).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossFromCatastrophes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139645069782784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 58,901<span></span>
</td>
<td class="nump">$ 77,598<span></span>
</td>
<td class="nump">$ 126,234<span></span>
</td>
<td class="nump">$ 147,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Available-for-sale investments:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="num">(2,322)<span></span>
</td>
<td class="num">(138)<span></span>
</td>
<td class="num">(15,870)<span></span>
</td>
<td class="num">(2,096)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations</a></td>
<td class="num">(12)<span></span>
</td>
<td class="num">(68)<span></span>
</td>
<td class="nump">24<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent', window );">Net change related to available-for-sale investments</a></td>
<td class="num">(2,334)<span></span>
</td>
<td class="num">(206)<span></span>
</td>
<td class="num">(15,846)<span></span>
</td>
<td class="num">(2,164)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CurrencytranslationadjustmentsAbstract', window );"><strong>Foreign currency translation adjustments:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments</a></td>
<td class="num">(3,962)<span></span>
</td>
<td class="num">(337)<span></span>
</td>
<td class="num">(6,073)<span></span>
</td>
<td class="num">(3,107)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Net change related to foreign currency translation adjustments</a></td>
<td class="num">(3,962)<span></span>
</td>
<td class="num">(337)<span></span>
</td>
<td class="num">(6,073)<span></span>
</td>
<td class="num">(3,107)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="num">(6,296)<span></span>
</td>
<td class="num">(543)<span></span>
</td>
<td class="num">(21,919)<span></span>
</td>
<td class="num">(5,271)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 52,605<span></span>
</td>
<td class="nump">$ 77,055<span></span>
</td>
<td class="nump">$ 104,315<span></span>
</td>
<td class="nump">$ 142,175<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CurrencytranslationadjustmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Currency translation adjustments [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CurrencytranslationadjustmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e689-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27357-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL34724391-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644973901552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="num">$ (698)<span></span>
</td>
<td class="num">$ (61)<span></span>
</td>
<td class="num">$ (4,734)<span></span>
</td>
<td class="num">$ (646)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644975123200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 177,046<span></span>
</td>
<td class="nump">$ 186,161<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments, amortized cost of $184,849 and $137,124 in 2022 and 2021, respectively, allowance for credit losses of $0 in 2022 and 2021</a></td>
<td class="nump">182,634<span></span>
</td>
<td class="nump">137,455<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, allowance for credit losses of $741 and $776 in 2022 and 2021, respectively</a></td>
<td class="nump">171,414<span></span>
</td>
<td class="nump">130,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled revenue</a></td>
<td class="nump">2,268<span></span>
</td>
<td class="nump">3,990<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">96,012<span></span>
</td>
<td class="nump">113,102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">105,384<span></span>
</td>
<td class="nump">68,742<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">734,758<span></span>
</td>
<td class="nump">639,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Non-current investments, amortized cost of $450,669 and $587,981 in 2022 and 2021, respectively, allowance for credit losses of $0 in 2022 and 2021</a></td>
<td class="nump">428,401<span></span>
</td>
<td class="nump">583,748<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant, and equipment, net</a></td>
<td class="nump">79,468<span></span>
</td>
<td class="nump">77,546<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">32,128<span></span>
</td>
<td class="nump">23,157<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">239,798<span></span>
</td>
<td class="nump">241,713<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">10,226<span></span>
</td>
<td class="nump">11,888<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes</a></td>
<td class="nump">411,505<span></span>
</td>
<td class="nump">418,570<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">6,799<span></span>
</td>
<td class="nump">7,242<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,943,083<span></span>
</td>
<td class="nump">2,003,662<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">20,364<span></span>
</td>
<td class="nump">44,051<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">70,051<span></span>
</td>
<td class="nump">92,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="nump">18,285<span></span>
</td>
<td class="nump">8,577<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">75,385<span></span>
</td>
<td class="nump">35,743<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">8,156<span></span>
</td>
<td class="nump">7,786<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">192,241<span></span>
</td>
<td class="nump">188,589<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Non-current operating lease liabilities</a></td>
<td class="nump">26,096<span></span>
</td>
<td class="nump">17,795<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">271,592<span></span>
</td>
<td class="nump">293,769<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes</a></td>
<td class="nump">12,876<span></span>
</td>
<td class="nump">14,780<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxes', window );">Non-current accrued income taxes</a></td>
<td class="nump">33,008<span></span>
</td>
<td class="nump">43,160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">17,285<span></span>
</td>
<td class="nump">15,476<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">553,098<span></span>
</td>
<td class="nump">573,569<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValueOutstanding', window );">Preferred stock, $.01 par value &#8211; Authorized: 400 shares in 2022 and 2021, respectively; no shares issued and outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValueOutstanding', window );">Common stock, $.002 par value &#8211; Authorized: 300,000 shares in 2022 and 2021, respectively; issued and outstanding: 173,397 and 175,481 shares in 2022 and 2021, respectively</a></td>
<td class="nump">347<span></span>
</td>
<td class="nump">351<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">947,269<span></span>
</td>
<td class="nump">914,802<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">512,230<span></span>
</td>
<td class="nump">562,882<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(69,861)<span></span>
</td>
<td class="num">(47,942)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">1,389,985<span></span>
</td>
<td class="nump">1,430,093<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 1,943,083<span></span>
</td>
<td class="nump">$ 2,003,662<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by shareholders, which is net of related treasury stock. May be all or a portion of the number of preferred shares authorized. These shares represent the ownership interest of the preferred shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974525520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent', window );">Amortized cost of current investments</a></td>
<td class="nump">$ 184,849<span></span>
</td>
<td class="nump">$ 137,124<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent', window );">Allowance for credit losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses, current</a></td>
<td class="nump">741<span></span>
</td>
<td class="nump">776<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent', window );">Amortized cost of non-current investments</a></td>
<td class="nump">450,669<span></span>
</td>
<td class="nump">587,981<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent', window );">Allowance for credit losses, non-current</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock shares authorized (in shares)</a></td>
<td class="nump">400,000<span></span>
</td>
<td class="nump">400,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock par value (in dollars per share)</a></td>
<td class="nump">$ 0.002<span></span>
</td>
<td class="nump">$ 0.002<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock shares authorized (in shares)</a></td>
<td class="nump">300,000,000<span></span>
</td>
<td class="nump">300,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">173,397,000<span></span>
</td>
<td class="nump">175,481,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">173,397,000<span></span>
</td>
<td class="nump">175,481,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644975194896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 126,234<span></span>
</td>
<td class="nump">$ 147,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">28,053<span></span>
</td>
<td class="nump">22,739<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation of property, plant, and equipment</a></td>
<td class="nump">8,114<span></span>
</td>
<td class="nump">8,510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Loss (gain) on disposal of property, plant, and equipment</a></td>
<td class="nump">12<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">1,662<span></span>
</td>
<td class="nump">1,853<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ExcessAndObsoleteInventoryCharges', window );">Excess and obsolete inventory charges</a></td>
<td class="nump">741<span></span>
</td>
<td class="nump">1,816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NonCashLossFromCatastrophes', window );">Non-cash impact of write-offs related to fire (Note 17)</a></td>
<td class="nump">44,903<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization of discounts or premiums on investments</a></td>
<td class="nump">2,714<span></span>
</td>
<td class="nump">1,840<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Realized loss (gain) on sale of investments</a></td>
<td class="nump">24<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Change in deferred income taxes</a></td>
<td class="num">(10,809)<span></span>
</td>
<td class="nump">973<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(44,118)<span></span>
</td>
<td class="num">(23,488)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Unbilled revenue</a></td>
<td class="nump">1,704<span></span>
</td>
<td class="nump">3,844<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(20,122)<span></span>
</td>
<td class="num">(9,521)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(45,752)<span></span>
</td>
<td class="num">(28,830)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(23,525)<span></span>
</td>
<td class="nump">16,058<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(20,024)<span></span>
</td>
<td class="nump">206<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable', window );">Accrued income taxes</a></td>
<td class="num">(372)<span></span>
</td>
<td class="num">(5,588)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">41,535<span></span>
</td>
<td class="nump">55,220<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet', window );">Other</a></td>
<td class="nump">2,655<span></span>
</td>
<td class="nump">1,711<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">93,629<span></span>
</td>
<td class="nump">194,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchases of investments</a></td>
<td class="num">(77,760)<span></span>
</td>
<td class="num">(511,625)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments', window );">Maturities and sales of investments</a></td>
<td class="nump">164,610<span></span>
</td>
<td class="nump">270,696<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant, and equipment</a></td>
<td class="num">(11,253)<span></span>
</td>
<td class="num">(6,550)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">75,597<span></span>
</td>
<td class="num">(247,479)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions', window );">Net proceeds from issuance of common stock under stock plans</a></td>
<td class="nump">4,414<span></span>
</td>
<td class="nump">44,407<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(154,317)<span></span>
</td>
<td class="num">(20,877)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Payment of dividends</a></td>
<td class="num">(22,573)<span></span>
</td>
<td class="num">(21,192)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(172,476)<span></span>
</td>
<td class="nump">2,338<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of foreign exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(5,865)<span></span>
</td>
<td class="num">(1,620)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net change in cash and cash equivalents</a></td>
<td class="num">(9,115)<span></span>
</td>
<td class="num">(52,036)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">186,161<span></span>
</td>
<td class="nump">269,073<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">$ 177,046<span></span>
</td>
<td class="nump">$ 217,037<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ExcessAndObsoleteInventoryCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Excess and Obsolete Inventory Charges</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ExcessAndObsoleteInventoryCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NonCashLossFromCatastrophes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Non-cash, Loss from Catastrophes</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NonCashLossFromCatastrophes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126938201&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970521952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statement of Shareholders' Equity - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 1,262,202<span></span>
</td>
<td class="nump">$ 352<span></span>
</td>
<td class="nump">$ 807,739<span></span>
</td>
<td class="nump">$ 487,912<span></span>
</td>
<td class="num">$ (33,801)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Beginning Balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">175,790<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Net issuance of common stock under stock plans</a></td>
<td class="nump">44,407<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">44,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Net issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(20,877)<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(20,876)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(258)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">22,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Payment of dividends</a></td>
<td class="num">(21,192)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(21,192)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">147,446<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147,446<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="num">(2,096)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,096)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</a></td>
<td class="num">(68)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(3,107)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,107)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Jul. 04, 2021</a></td>
<td class="nump">1,429,454<span></span>
</td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">874,883<span></span>
</td>
<td class="nump">593,290<span></span>
</td>
<td class="num">(39,072)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ending Balance (in shares) at Jul. 04, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">176,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Apr. 04, 2021</a></td>
<td class="nump">1,357,001<span></span>
</td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">854,491<span></span>
</td>
<td class="nump">540,686<span></span>
</td>
<td class="num">(38,529)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Beginning Balance (in shares) at Apr. 04, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">176,608<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Net issuance of common stock under stock plans</a></td>
<td class="nump">9,663<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">9,662<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Net issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(14,398)<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,397)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(178)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">10,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Payment of dividends</a></td>
<td class="num">(10,597)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,597)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">77,598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="num">(138)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(138)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</a></td>
<td class="num">(68)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(337)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(337)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Jul. 04, 2021</a></td>
<td class="nump">1,429,454<span></span>
</td>
<td class="nump">$ 353<span></span>
</td>
<td class="nump">874,883<span></span>
</td>
<td class="nump">593,290<span></span>
</td>
<td class="num">(39,072)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ending Balance (in shares) at Jul. 04, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">176,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 1,430,093<span></span>
</td>
<td class="nump">$ 351<span></span>
</td>
<td class="nump">914,802<span></span>
</td>
<td class="nump">562,882<span></span>
</td>
<td class="num">(47,942)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Beginning Balance (in shares) at Dec. 31, 2021</a></td>
<td class="nump">175,481<span></span>
</td>
<td class="nump">175,481<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Net issuance of common stock under stock plans</a></td>
<td class="nump">$ 4,414<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">4,414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Net issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">183<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(154,317)<span></span>
</td>
<td class="num">$ (4)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(154,313)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,267)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">28,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Payment of dividends</a></td>
<td class="num">(22,573)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22,573)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">126,234<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">126,234<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="num">(15,870)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,870)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</a></td>
<td class="nump">24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(6,073)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,073)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Jul. 03, 2022</a></td>
<td class="nump">$ 1,389,985<span></span>
</td>
<td class="nump">$ 347<span></span>
</td>
<td class="nump">947,269<span></span>
</td>
<td class="nump">512,230<span></span>
</td>
<td class="num">(69,861)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ending Balance (in shares) at Jul. 03, 2022</a></td>
<td class="nump">173,397<span></span>
</td>
<td class="nump">173,397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Apr. 03, 2022</a></td>
<td class="nump">$ 1,358,745<span></span>
</td>
<td class="nump">$ 347<span></span>
</td>
<td class="nump">933,452<span></span>
</td>
<td class="nump">488,511<span></span>
</td>
<td class="num">(63,565)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Beginning Balance (in shares) at Apr. 03, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">173,738<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Net issuance of common stock under stock plans</a></td>
<td class="nump">820<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">820<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Net issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(23,912)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(23,912)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(388)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">12,997<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,997<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCash', window );">Payment of dividends</a></td>
<td class="num">(11,270)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,270)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">58,901<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,901<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="num">(2,322)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,322)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</a></td>
<td class="num">(12)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(3,962)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,962)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending Balance at Jul. 03, 2022</a></td>
<td class="nump">$ 1,389,985<span></span>
</td>
<td class="nump">$ 347<span></span>
</td>
<td class="nump">$ 947,269<span></span>
</td>
<td class="nump">$ 512,230<span></span>
</td>
<td class="num">$ (69,861)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ending Balance (in shares) at Jul. 03, 2022</a></td>
<td class="nump">173,397<span></span>
</td>
<td class="nump">173,397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e689-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27357-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL34724391-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644980734304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareCashPaid', window );">Cash dividends per common share (usd per share)</a></td>
<td class="nump">$ 0.065<span></span>
</td>
<td class="nump">$ 0.060<span></span>
</td>
<td class="nump">$ 0.130<span></span>
</td>
<td class="nump">$ 0.120<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="num">$ (698)<span></span>
</td>
<td class="num">$ (61)<span></span>
</td>
<td class="num">$ (4,734)<span></span>
</td>
<td class="num">$ (646)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends paid during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979745120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">Summary of Significant Accounting Policies<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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&#8217;s Annual Report on Form 10-K for the year ended December&#160;31, 2021 for a full description of other significant accounting policies.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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, adjustments related to the loss from fire (Note 17), and financial statement reclassifications necessary to present fairly the Company&#8217;s financial position as of July&#160;3, 2022, and the results of its operations for the three-month and six-month periods ended July&#160;3, 2022 and July&#160;4, 2021, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended July&#160;3, 2022 are not necessarily indicative of the results to be expected for the full year.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979760512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Pronouncements<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">New Pronouncements</a></td>
<td class="text">New Pronouncements<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">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"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU primarily address the accounting for contract assets and contract liabilities related to revenue contracts with customers in a business combination. The ASU clarifies that an acquirer should account for the related revenue contracts in accordance with Accounting Standards Codification 606 as if the acquirer had originated the contracts. The amendments in this ASU are effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, although early adoption is permitted. The amendments in the ASU should be applied prospectively to business combinations occurring on or after the effective date of the amendments. The expected financial statement impact of this new accounting standard cannot be reasonably estimated at this time, as the impact in future periods will depend on the contract assets and contract liabilities acquired in future business combinations. Management does not expect this ASU to have a material impact on the Company's disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=d3e31137-122693<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL122150809-237846<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=SL108384541-122693<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644980606928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text">Fair Value Measurements<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:49.998%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.714%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted&#160;Prices&#160;in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,149&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,188&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,163&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,030&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">425&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;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. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;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.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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. The balance remained at zero through the remainder of the five-year assessment period which concluded during the six-month period ended July&#160;3, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 did not record impairment charges related to non-financial assets during the three-month or six-month periods ended July&#160;3, 2022 or July&#160;4, 2021.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979749904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsDisclosureTextBlock', window );">Cash, Cash Equivalents, and Investments</a></td>
<td class="text">Cash, Cash Equivalents, and Investments<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,373</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185,624&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,149</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">524</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">177,046</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186,161&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">124,805</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,088&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,465</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,655&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,578</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,802&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,162</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">624</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,998&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">182,634</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,455&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">370,383</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481,218&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">43,698</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,344</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,753&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,976</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,119&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">641&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">428,401</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">583,748&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">788,081</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">907,364&#160;</span></td><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"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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; agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All of the Company's securities as of July&#160;3, 2022 and December&#160;31, 2021 were denominated in U.S. Dollars.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $2,732,000 and $3,037,000 as of July&#160;3, 2022 and December&#160;31, 2021, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s available-for-sale investments as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.243%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.392%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,286&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,481)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,805&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,756&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(291)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,465&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,936&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(358)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,236&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,162&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">390,702&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,319)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370,383&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,269&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,579)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,698&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,580&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(236)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,344&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">635,518</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(24,491)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">611,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:30.711%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.654%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">443,391&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,208)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,797&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,592)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,188&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,800)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,533&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,867)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">323&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,856&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,870)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,246&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(307)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,348&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(310)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(358)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(358)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">554,348</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(21,893)</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52,222</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2,598)</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">606,570</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(24,491)</span></td><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"/></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management monitors debt securities that are in an unrealized loss position to determine whether a loss exists related to the credit quality of the issuer. When developing an estimate of expected credit losses, management considers all relevant information including historical experience, current conditions, and reasonable forecasts of expected future cash flows. Based on this evaluation, no allowance for credit losses on debt securities was recorded as of July&#160;3, 2022 or December&#160;31, 2021. There was no activity recorded in the allowance for credit losses during the three-month or six-month periods ended July&#160;3, 2022 or July&#160;4, 2021.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded gross realized gains on the sale of debt securities totaling $15,000 and $133,000 for the three-month and six-month periods ended July&#160;3, 2022, respectively, and gross realized losses on the sale of debt securities totaling $3,000 and $157,000 for the three-month and six-month periods ended July&#160;3, 2022. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $68,000 and $0, respectively, for both the three-month and six-month periods ended July&#160;4, 2021. Realized 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, were recorded in shareholders&#8217; equity as accumulated other comprehensive loss.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:35.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:9.287%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,805&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">177,030&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,638&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,152&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,563&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,188&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,660&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,176&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,862&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,163&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,162&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,852&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,492&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,506&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">182,634</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">214,542</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">139,298</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">61,998</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,563</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">611,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments maturing within three months from the date of acquisition qualify.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979752384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">Inventories<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">41,568</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,452&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,704</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,293&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52,740</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,357&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">96,012</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113,102&#160;</span></td><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"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 17 for information regarding losses incurred from the fire at the Company's primary contract manufacturer's plant in Indonesia during the three-month period ended July&#160;3, 2022, including the impact on inventories.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979661280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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. </span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022, there were no options to terminate that were accounted for in the determination of the lease term for outstanding leases, and three options to extend that were accounted for in the determination of the lease term of three of the Company's 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 July&#160;3, 2022.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month and six-month periods ended July&#160;3, 2022 were $2,215,000 and $4,444,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July&#160;3, 2022 were $2,227,000 and $4,306,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 for the three-month and six-month periods ended July&#160;3, 2022 were $37,000 and $75,000, respectively.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total operating lease expense for the three-month and six-month periods ended July&#160;4, 2021 were $2,021,000 and $4,023,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July&#160;4, 2021 were $2,014,000 and $4,075,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 for the three-month and six-month periods ended July&#160;4, 2021 were $38,000 and $78,000, respectively.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:82.648%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.224%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December&#160;31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,536&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,002&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,114&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,408&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,731&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,662&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,035&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37,488</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><div style="margin-top:4pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The discounted present value of the future lease cash payments resulted in a lease liability of $34,252,000 and $25,581,000 as of July&#160;3, 2022 and December&#160;31, 2021, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of July&#160;3, 2022.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, the Company entered into a lease for a 65,000 square-foot building in Southborough, Massachusetts for a term of ten years to serve as a new distribution center for customers in the Americas. The Company has the right and option to extend the term of this lease for an additional period of five years, commencing upon the expiration of the original ten-year term. This lease commenced during the six-month period ended July&#160;3, 2022, and therefore the Company recorded approximately $9,271,000 within "Operating lease assets" and "Operating lease liabilities" on the Consolidated Balance Sheets on the commencement date.</span></div>The weighted-average discount rate was 2.9% and 3.4% for the leases outstanding as of July&#160;3, 2022 and December&#160;31, 2021, respectively. The weighted-average remaining lease term was 6.9 and 5.1 years for the leases outstanding as of July&#160;3, 2022 and December&#160;31, 2021, respectively.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979848000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillDisclosureTextBlock', window );">Goodwill</a></td>
<td class="text">Goodwill<div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:83.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.776%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">241,713&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,915)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">239,798</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144439<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979813680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets</a></td>
<td class="text">Intangible Assets<div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,217</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,519</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,698</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,578</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,241</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,337</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">710</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">519</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">191</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">110</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">110</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">73,675</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">63,449</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,226</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,217&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,234&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,983&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,891&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,687&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">710&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">492&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,675&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,787&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,888&#160;</span></td><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"/></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of July&#160;3, 2022, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:81.623%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.445%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December&#160;31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,613&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,594&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,757&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,452&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">730&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,226</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979848000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">Warranty Obligations</a></td>
<td class="text">Warranty Obligations<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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&#8217;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 &#8220;Accrued expenses&#8221; on the Consolidated Balance Sheets.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:80.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.029%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,427&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,255&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,221</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979809216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitment and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">Commitments and Contingencies<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022, the Company had outstanding purchase orders totaling $67,516,000 to procure inventory from various vendors, due in part to higher inventory purchases in response to global supply chain constraints. Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate primarily to expected sales in the next twelve months. The Company expects the level of outstanding purchase orders to increase for the remainder of the year as it replenishes inventories destroyed in the fire on June 7, 2022 at its primary contract manufacturer (refer to Note 17).</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A significant portion of the Company's outstanding inventory purchase orders as of July&#160;3, 2022, as well as additional preauthorized commitments to procure strategic components based on the Company's expected customer demand, are placed with the Company's primary contract manufacturer for the Company's assembled products. The Company has the obligation to purchase any non-cancelable and non-returnable components that have been purchased by this contract manufacturer with the Company's preauthorization, when these components have not been consumed within the period defined in the terms of the Company's agreement with this contract manufacturer.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979755792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivative Instruments</a></td>
<td class="text">Derivative Instruments<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;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 that do not exceed approximately three months 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. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:46.122%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.746%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,329&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,748&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,377&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,374&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,839&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,842&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">650,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,789&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,213&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,833&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,370&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,552&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,355,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,552&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,355,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,155&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,270,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,302&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,480&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,167&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:1pt;text-align:justify"><span><br/></span></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:12.516%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.397%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.709%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid&#160;expenses&#160;and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">425</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">425</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">425</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230&#160;</span></td><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"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:20.683%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.636%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.797%"/><td style="width:0.1%"/></tr><tr style="height:19pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6,191</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(746)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,930</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,148&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -URI https://asc.fasb.org/topic&amp;trid=2229140<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126731327&amp;loc=d3e90205-114008<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644973847456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition</a></td>
<td class="text">Revenue Recognition<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:37.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.527%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">91,551</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,418&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">218,210</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">216,254&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">61,840</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,967&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">124,631</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,015&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">78,616</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,706&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">127,021</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,944&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">42,621</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,067&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">87,173</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">274,628</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269,158&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">557,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">508,185&#160;</span></td><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"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.402%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">221,474</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">234,322&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">479,354</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">456,648&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">53,154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,836&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,681</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,537&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">274,628</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269,158&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">557,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">508,185&#160;</span></td><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"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Costs to Fulfill a Contract</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $14,428,000 and $10,854,000 as of July&#160;3, 2022 and December&#160;31, 2021, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the six-month period ended July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">776&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">741</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,743&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,834&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,557)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,635)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">75,385</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979818912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Shareholders' Equity and Share-based Payments</a></td>
<td class="text">Stock-Based Compensation Expense<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Plans</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s stock-based awards that result in compensation expense consist of stock options, restricted stock units ("RSUs"), and performance restricted stock units ("PRSUs"). As of July&#160;3, 2022, the Company had 14,250,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&#8217;s common stock at the grant date and generally vest over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDYz_479ba460-4060-4086-876a-0865345b6fc3">four</span> or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTYy_f863b510-2a78-488d-8403-50be5577f26c">three</span> or four years of continuous employment or incrementally over such <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjMx_51c90430-0b7a-490b-80b1-cce809ba937e">three</span> or four-year period. PRSUs generally vest upon three years of continuous employment and achievement of performance criteria established by the Compensation Committee of our Board of Directors on or prior to the grant date. Participants are not entitled to dividends on RSUs or PRSUs.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock Options</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s stock option activity for the six-month period ended July&#160;3, 2022:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:37.699%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.273%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.126%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.983%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term&#160;(in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,610&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49.38&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64.02&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.66&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(118)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59.53&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of July 3, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,389</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">51.11</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.47</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,951</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of July 3, 2022</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,347</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">43.46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.30</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,615</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of July 3, 2022 (1)</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,927</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">50.45</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.36</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,938</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months&#160;Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.9</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.9</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.3&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.53</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.31&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.40</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.8</span></td></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Risk-free rate</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected dividend yield</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected volatility</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected volatility was based upon a combination of historical volatility of&#160;the Company&#8217;s common stock over the contractual term of the option and implied volatility for traded options of the Company&#8217;s stock.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Expected term</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted-average grant-date fair values of stock options granted during the three-month and six-month periods ended July&#160;3, 2022 were $18.21 and $22.33, respectively, and during the three-month and six-month periods ended July&#160;4, 2021 were $32.07 and $33.47, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total intrinsic values of stock options exercised for the three-month and six-month periods ended July&#160;3, 2022 were $934,000 and 3,099,000, respectively, and for the three-month and six-month periods ended July&#160;4, 2021 were $11,621,000 and $53,948,000, respectively. The total fair values of stock options vested for the three-month and six-month periods ended July&#160;3, 2022 were $1,188,000 and $26,723,000, respectively, and for the three-month and six-month periods ended July&#160;4, 2021 were $1,830,000 and $37,430,000, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Restricted Stock Units (RSUs)</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the six-month period ended July&#160;3, 2022: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">823&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65.26&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63.37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81.31&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66.56&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,194</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">63.47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of RSUs is determined based on the observable market price of the Company's stock on the grant date less the present value of expected future dividends. The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended July&#160;3, 2022 were $45.25 and $63.37, respectively, and during the three-month and six-month periods ended July&#160;4, 2021 were $75.98 and $87.46, respectively. There were 20,000 and 74,000 RSUs that vested during the three-month and six-month periods ended July&#160;3, 2022, respectively, and 13,000 and 15,000 that vested during the three-month and six-month periods ended July&#160;4, 2021, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Performance Restricted Stock Units (PRSUs)</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's PRSUs activity for the six-month period ended July&#160;3, 2022: </span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62.49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">62.49</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No PRSUs were granted or vested during the three-month period ended July&#160;3, 2022. No PRSUs were granted or vested during the three-month and six-month periods ended July&#160;4, 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of PRSUs is calculated using the Monte Carlo simulation model to estimate the probability of satisfying the service and market conditions stipulated in the award grant.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Stock-Based Compensation Expense</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company stratifies 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 7% 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 an increase to compensation expense of $1,536,000 in 2022 and a decrease to compensation expense of $255,000 in 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022, total unrecognized compensation expense related to non-vested equity awards, including stock options, RSUs and PRSUs, was $69,142,000, which is expected to be recognized over a weighted-average period of 1.6 years.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July&#160;3, 2022 were $12,997,000 and $2,044,000, respectively, and for the six-month period ended July&#160;3, 2022 were $28,053,000 and $4,363,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July&#160;4, 2021 were $10,730,000 and $1,651,000, respectively, and for the six-month period ended July&#160;4, 2021 were $22,739,000 and $3,464,000, respectively. No compensation expense was capitalized as of July&#160;3, 2022 or December&#160;31, 2021.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.812%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.941%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">482</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,045</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">599&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,851</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,299</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,067&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,664</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,709</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,073&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,997</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,730&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">28,053</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,739&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI https://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979846688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stock Repurchase Program</a></td>
<td class="text">Stock Repurchase ProgramOn March 12, 2020, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July&#160;3, 2022, the Company repurchased 2,737,000 shares at a cost of $200,000,000 under this program, including 1,677,000 shares at a cost of $117,000,000 during the six-month period ended July&#160;3, 2022, which completed purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. During the six-month period ended July&#160;3, 2022, the Company repurchased 590,000 shares at a cost of $37,317,000 under this program, leaving a remaining balance of $462,683,000 as of July&#160;3, 2022. 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.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI https://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126731327&amp;loc=SL126733271-114008<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644976798400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">Income Taxes<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's effective tax rate was 9% and 17% for the three-month and six-month periods ended July&#160;3, 2022, respectively, and 17% and 14% for the three-month and six-month periods ended July&#160;4, 2021, respectively. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded a net discrete tax benefit totaling $4,792,000 and a net discrete tax expense totaling $1,546,000 for the three-month and six-month periods ended July 3, 2022, respectively, and net discrete tax benefits totaling $896,000 and $6,103,000 for the same periods in 2021. Discrete tax items for the six-month period ended July&#160;3, 2022 included (1) a decrease in tax expense of $2,440,000 arising from the impact of the loss from fire recorded during the three-month period ended July&#160;3, 2022 (refer to Note 17), (2) an increase in tax expense of $1,417,000 arising from an Internal Revenue Service (IRS) audit recorded during the three-month period ended April 3, 2022, which was offset by a decrease in tax expense of $2,519,000 related to releases of reserves for income taxes due to the closure of this Internal Revenue Service (IRS) audit during the three-month period ended July&#160;3, 2022, (3) an increase in tax expense of $1,734,000 to establish a full valuation allowance against deferred tax assets related to foreign tax credits recorded during the three-month period ended April 3, 2022, and (4) an increase in tax expense of $3,353,000 primarily consisting of transfer pricing and return-to-provision adjustments.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Discrete tax items for the three-month and six-month periods ended July&#160;4, 2021 included a decrease in tax expense of $1,431,000 and $6,638,000, respectively, related to stock-based compensation, primarily from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises. This impact was not material for the three-month and six-month periods ended July&#160;3, 2022. </span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excluding the impact of these discrete tax items, the Company&#8217;s effective tax rate was 16% for both the three-month and six-month periods ended July&#160;3, 2022, and 18% for both the three-month and six-month periods ended July&#160;4, 2021. 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 22% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in a lower effective tax rate for the three-month and six-month periods ended July&#160;3, 2022 as compared to the same periods in 2021 due to more of the Company's profits being earned and taxed in lower tax jurisdictions. The remaining decrease in the effective tax rate for the three-month and six-month periods was primarily attributable to lower state taxes.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was $13,444,000 as of July&#160;3, 2022, which included $12,876,000 classified as a non-current liability and $568,000 recorded as a reduction to non-current deferred tax assets. If the Company&#8217;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.</span></div>Within the United States, the tax years 2019 through 2020 remain open to examination by the IRS, and 2017 through 2020 remain open to examination by various state tax authorities. The tax years 2016 through 2021 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company received the Closing Letter for Agreed Income Tax Cases from the IRS and the Company is no longer under audit by the IRS for the tax years 2017 and 2018. As a result, management released reserves associated with the periods under audit which decreased tax expense by approximately $2,519,000 during the three-month period ended July&#160;3, 2022. The Company is no longer under audit by the Commonwealth of Massachusetts for tax years 2017 and 2018. The audit was completed during the six-month period ended July&#160;3, 2022 and resulted in no material tax impact to the Company's financial statements.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644973875488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Weighted-Average Shares</a></td>
<td class="text">Weighted-Average Shares<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.794%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,507</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,626&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,830</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,454&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,486</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,365&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,044</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,528&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">174,993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,991&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">175,874</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,982&#160;</span></td><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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div>Stock options to purchase 4,048,000 and 1,818,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively, and 701,000 and 591,000 for the same periods in 2021, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 480,000 and 21,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively and 500 and 1,000 for the same periods in 2021, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Performance restricted stock units totaling 33,000 and 0 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. There were no anti-dilutive performance restricted stock units outstanding, on a weighted-average basis, during the three-month and six-month periods July&#160;4, 2021.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979812112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Loss from Fire<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CatastropheAbstract', window );"><strong>Catastrophe [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LossFromCatastropheTextBlock', window );">Loss from Fire</a></td>
<td class="text">Loss from Fire<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 7, 2022, the Company&#8217;s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. Since the date of the fire and continuing through the date of this report, the Company has worked with the contract manufacturer to assess the damage, resume production, and begin the process of replenishing inventories destroyed by the fire. Additionally, beginning last year, the Company has been working to ramp up an additional contract manufacturer to further mitigate risk, diversify supply chain, and expand production capacity. We expect this additional contract manufacturer to commence production later in the year. As a result of the fire, the Company recorded $44,903,000 in gross losses, including $36,484,000 of primarily Cognex-owned inventory that was destroyed or deemed to have a net realizable value of zero and $8,419,000 of primarily prepayments related to Cognex-designated components that were owned by the contract manufacturer. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the provisions of the Company's insurance policies, the gross losses have been reduced by the estimated insurance proceeds expected to be received from the Company&#8217;s insurance carrier. The Company has determined that partial recovery of the incurred losses is probable and therefore recorded an insurance recovery of $27,500,000 during the three-month period ended July&#160;3, 2022. The insurance receivable is included in &#8220;Prepaid expenses and other current assets&#8221; on the Consolidated Balance Sheets. The gross losses, net of insurance recovery, total $17,403,000 and is presented in the caption &#8220;Loss from fire&#8221; on the Consolidated Statements of Operations. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of July&#160;3, 2022 and through the date of financial statement issuance, management cannot estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">realizable. There can be no assurance, however, that the expected insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After considering all the relevant events and circumstances resulting from the fire, management does not believe that the carrying value of the Company exceeds its fair value, or that the carrying amount of the Company&#8217;s intangible assets may not be recoverable. As such, no goodwill or intangible asset impairment charges were recorded during the three-month period ended July&#160;3, 2022 as a result of the fire.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CatastropheAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Catastrophe</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CatastropheAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LossFromCatastropheTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Loss From Catastrophe</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LossFromCatastropheTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979789632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text">Subsequent EventsOn August 2, 2022, the Company&#8217;s Board of Directors declared a cash dividend of $0.065 per share. The dividend is payable on September 2, 2022 to all shareholders of record as of the close of business on August 19, 2022.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979779104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Pronouncements</a></td>
<td class="text">New Pronouncements<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">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"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounting Standards Update (ASU) 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers"</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in this ASU primarily address the accounting for contract assets and contract liabilities related to revenue contracts with customers in a business combination. The ASU clarifies that an acquirer should account for the related revenue contracts in accordance with Accounting Standards Codification 606 as if the acquirer had originated the contracts. The amendments in this ASU are effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, although early adoption is permitted. The amendments in the ASU should be applied prospectively to business combinations occurring on or after the effective date of the amendments. The expected financial statement impact of this new accounting standard cannot be reasonably estimated at this time, as the impact in future periods will depend on the contract assets and contract liabilities acquired in future business combinations. Management does not expect this ASU to have a material impact on the Company's disclosures.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139645062072336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Assets and Liabilities Measured at Fair Value on a Recurring Basis</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:49.998%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.714%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Quoted&#160;Prices&#160;in<br/>Active Markets<br/>for Identical<br/>Assets (Level 1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Significant Other<br/>Observable<br/>Inputs (Level 2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,149&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,188&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,163&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,030&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">425&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644977123744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock', window );">Components of Cash, Cash Equivalents, and Investments</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,373</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185,624&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market instruments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,149</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">524</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">177,046</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186,161&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">124,805</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,088&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,465</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,655&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,578</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,802&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,162</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">624</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,998&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current investments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">182,634</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,455&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">370,383</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481,218&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">43,698</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,344</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,753&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,976</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,119&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">641&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current investments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">428,401</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">583,748&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">788,081</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">907,364&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Summary of Available-for-Sale Investments</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s available-for-sale investments as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:42.741%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.536%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.243%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.389%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.392%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amortized<br/>Cost</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Gains</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,286&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,481)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,805&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,756&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(291)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,465&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,936&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(358)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,236&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,162&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">390,702&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,319)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370,383&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,269&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,579)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,698&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,580&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(236)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,344&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,118&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">635,518</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(24,491)</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">611,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock', window );">Gross Unrealized Losses and Fair Values for Available-for-Sale Investments</a></td>
<td class="text">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of July&#160;3, 2022 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:30.711%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.651%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.654%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized Loss Position For:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Less than 12 Months</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">12 Months or Greater</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrealized<br/>Losses</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">443,391&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,208)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,797&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,592)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,188&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,800)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,533&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,867)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">323&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67,856&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,870)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,246&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(307)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,348&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(310)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(358)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(358)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(142)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">554,348</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(21,893)</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52,222</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2,598)</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">606,570</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(24,491)</span></td><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"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Effective Maturity Dates of Available-for-Sale Investments</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:35.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:9.287%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&lt;1 year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">1-2 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2-3 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">3-4 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">4-5 Years</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,805&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">177,030&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,638&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,152&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,563&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,188&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,465&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,660&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,176&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,862&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,163&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury bills</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,162&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,852&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,492&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,506&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agency bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sovereign bonds</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">984&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">182,634</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">214,542</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">139,298</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">61,998</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,563</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">611,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Components of cash cash equivalents and investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974580608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventories</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.911%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.028%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.031%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">41,568</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,452&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,704</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,293&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">52,740</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,357&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">96,012</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113,102&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979838512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, Maturity</a></td>
<td class="text"><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future operating lease cash payments are as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:82.648%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.224%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December&#160;31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,536&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,002&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,114&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,408&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,731&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,662&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,035&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37,488</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979899968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill</a></td>
<td class="text"><div style="margin-top:9pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value of goodwill were as follows (in thousands):</span></div><div style="margin-top:14pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:83.288%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.776%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">241,713&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;Foreign exchange rate changes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,915)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">239,798</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=SL108378252-109267<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971554944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><div style="margin-top:5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">38,060</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,217</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">16,519</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,698</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,578</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,241</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,337</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">710</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">519</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">191</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">110</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">110</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">73,675</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">63,449</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,226</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Value</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Carrying<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Distribution networks</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,060&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Completed technologies</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,217&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,234&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,983&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,578&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,891&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,687&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">710&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">492&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,675&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,787&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,888&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Intangible Assets, Future Amortization Expense</a></td>
<td class="text"><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of July&#160;3, 2022, estimated future amortization expense related to intangible assets was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:81.623%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.445%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Year Ended December&#160;31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of fiscal 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,613&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,594&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,757&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,452&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">730&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,226</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979847216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Changes in Warranty Obligations</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:80.771%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.029%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,427&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provisions for warranties issued during the period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,255&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fulfillment of warranty obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,221</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974244656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_OutstandingForwardContractsTableTextBlock', window );">Outstanding Forward Contracts Table</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:46.122%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.034%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.746%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">USD<br/>Equivalent</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notional<br/>Value</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">USD<br/>Equivalent</span></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Euro</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,329&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,748&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chinese Renminbi</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,377&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,374&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mexican Peso</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,839&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,842&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">650,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,789&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">600,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,213&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">British Pound</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,150&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,833&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,370&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,552&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hungarian Forint</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,355,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,552&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,355,000&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,155&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,270,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,302&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canadian Dollar</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,480&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,167&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</a></td>
<td class="text"><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:12.516%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.397%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.709%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.784%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sheet<br/>Location</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Economic hedge forward contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid&#160;expenses&#160;and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">425</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OffsettingAssetsTableTextBlock', window );">Offsetting Assets</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.008%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.345%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.227%"/><td style="width:0.1%"/></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Asset Derivatives</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liability Derivatives</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3,           2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts of recognized liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">425</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross amounts offset</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#8212;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of assets presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount of liabilities presented</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">425</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Derivative Instruments, Gain (Loss)</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:20.683%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.636%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.797%"/><td style="width:0.1%"/></tr><tr style="height:19pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location in Financial Statements</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Derivatives Not Designated as Hedging Instruments:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gains (losses) recognized in current operations</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency gain (loss)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6,191</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(746)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,930</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,148&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_OutstandingForwardContractsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Outstanding forward contracts table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_OutstandingForwardContractsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OffsettingAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225877-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OffsettingAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4E<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624181-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5618551-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974018448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock', window );">Revenue from External Customers by Geographic Areas</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:37.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.527%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">91,551</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,418&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">218,210</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">216,254&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">61,840</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,967&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">124,631</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,015&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Greater China</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">78,616</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,706&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">127,021</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,944&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other Asia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">42,621</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,067&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">87,173</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">274,628</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269,158&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">557,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">508,185&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Revenue from External Customers by Products and Services</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.402%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Standard products and services</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">221,474</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">234,322&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">479,354</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">456,648&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Application-specific customer solutions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">53,154</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,836&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">77,681</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,537&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">274,628</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269,158&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">557,035</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">508,185&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of Allowance for Credit Loss Activity</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the allowance for credit losses activity for the six-month period ended July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">776&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs, net of recoveries</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">741</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock', window );">Deferred Revenue, by Arrangement, Disclosure</a></td>
<td class="text"><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July&#160;3, 2022 (in thousands):</span></div><div style="margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:79.341%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.459%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,743&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferral of revenue billed in the current period, net of recognition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,834&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recognition of revenue deferred in prior period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(28,557)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,635)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">75,385</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueByArrangementDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph a<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644980596960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Option Activity</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company&#8217;s stock option activity for the six-month period ended July&#160;3, 2022:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:37.699%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.273%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.223%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.126%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.983%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in&#160;thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-<br/>Average<br/>Remaining<br/>Contractual<br/>Term&#160;(in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate<br/>Intrinsic<br/>Value<br/>(in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,610&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49.38&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,030&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64.02&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(133)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.66&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(118)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59.53&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding as of July 3, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,389</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">51.11</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.47</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,951</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of July 3, 2022</span></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4,347</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">43.46</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.30</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,615</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested or expected to vest as of July 3, 2022 (1)</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,927</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">50.45</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.36</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">26,938</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/></tr></table></div><div style="margin-top:1pt;padding-left:36pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#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.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.526%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months&#160;Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.9</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1.9</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.3&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.53</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.31&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">0.40</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">37</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected term (in years)</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5.8</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of Nonvested Restricted Stock Units Activity</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's RSUs activity for the six-month period ended July&#160;3, 2022: </span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">823&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65.26&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63.37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81.31&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66.56&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,194</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">63.47</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock', window );">Schedule of Nonvested Performance-based Units Activity</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the Company's PRSUs activity for the six-month period ended July&#160;3, 2022: </span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.420%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.712%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.838%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Shares<br/>(in thousands)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average <br/>Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62.49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or expired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nonvested as of July 3, 2022</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">33</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">62.49</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:38.812%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.941%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">482</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,045</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">599&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research, development, and engineering</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,851</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,064&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,299</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,067&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,664</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">18,709</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,073&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,997</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,730&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">28,053</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,739&#160;</span></td><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"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested performance-based units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139645062076128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Calculation of Weighted-Average Shares</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:42.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.794%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three-months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Six-months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">July 3, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 4, 2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted-average common shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,507</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,626&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">173,830</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,454&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,486</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,365&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,044</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,528&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average common and common-equivalent shares outstanding</span></td><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">174,993</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,991&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">175,874</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><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"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,982&#160;</span></td><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"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970200128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">$ 3,149<span></span>
</td>
<td class="nump">$ 537<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">611,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">495,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">70,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">24,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">18,578<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">1,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">624<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">3,149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted&#160;Prices&#160;in Active Markets for Identical Assets (Level 1) | Fair Value, Measurements, Recurring | Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">425<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">495,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">70,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">25,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">18,578<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">1,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) | Fair Value, Measurements, Recurring | Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">624<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Unobservable Inputs (Level 3) | Fair Value, Measurements, Recurring | Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Financial assets at fair value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractAssetFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974523968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Contingent consideration liability</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644968467744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss', window );">Debt securities, available-for-sale, allowance for credit loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease', window );">Credit loss on investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain', window );">Gross realized gains on sale of investments</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">68<span></span>
</td>
<td class="nump">133<span></span>
</td>
<td class="nump">68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss', window );">Gross realized losses on sale of investments</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">157<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember', window );">Other Current Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsLineItems', window );"><strong>Cash and Cash Equivalents [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestReceivable', window );">Accrued interest receivable</a></td>
<td class="nump">$ 2,732<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,732<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,037<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922900-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922900-210455<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aaa)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in allowance for credit loss of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922900-210455<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleRealizedGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974274800">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 173,373<span></span>
</td>
<td class="nump">$ 185,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Treasury bills</a></td>
<td class="nump">524<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">3,149<span></span>
</td>
<td class="nump">537<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">177,046<span></span>
</td>
<td class="nump">186,161<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">182,634<span></span>
</td>
<td class="nump">137,455<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Non-current investments</a></td>
<td class="nump">428,401<span></span>
</td>
<td class="nump">583,748<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments', window );">Total</a></td>
<td class="nump">788,081<span></span>
</td>
<td class="nump">907,364<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">124,805<span></span>
</td>
<td class="nump">73,088<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">370,383<span></span>
</td>
<td class="nump">481,218<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">26,465<span></span>
</td>
<td class="nump">37,655<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">43,698<span></span>
</td>
<td class="nump">43,940<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">12,162<span></span>
</td>
<td class="nump">18,912<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">12,344<span></span>
</td>
<td class="nump">39,753<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">18,578<span></span>
</td>
<td class="nump">2,802<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">16,077<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">624<span></span>
</td>
<td class="nump">4,998<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">641<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtMember', window );">Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">$ 1,976<span></span>
</td>
<td class="nump">$ 2,119<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash, cash equivalents, short term and long term investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CashCashEquivalentsShortTermAndLongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631418-115840<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631419-115840<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970412128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">$ 635,518<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(24,491)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">611,035<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">495,188<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">126,286<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(1,481)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">124,805<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">390,702<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(20,319)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">370,383<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">70,163<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">26,756<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(291)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">26,465<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">45,269<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(1,579)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">43,698<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">24,506<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">12,236<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(74)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">12,162<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">12,580<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(236)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">12,344<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">18,578<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">18,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(358)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">18,578<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">1,976<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds | Long-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">2,118<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(142)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">1,976<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">624<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized cost</a></td>
<td class="nump">635<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(11)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">$ 624<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_ShortTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_ShortTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=cgnx_LongTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=cgnx_LongTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971471152">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">$ 554,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(21,893)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">52,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(2,598)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">606,570<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">(24,491)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">443,391<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(19,208)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">51,797<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(2,592)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">495,188<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">(21,800)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">67,533<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(1,867)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">67,856<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">(1,870)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">22,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(307)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">22,348<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">(310)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">18,578<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(358)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">18,578<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">(358)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">1,976<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(142)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">1,976<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">(142)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months', window );">Fair value, less than 12 months</a></td>
<td class="nump">624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(11)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger', window );">Fair value, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition', window );">Total fair value</a></td>
<td class="nump">624<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss', window );">Total Unrealized Losses</a></td>
<td class="num">$ (11)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922890-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27337-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121590138&amp;loc=SL82922954-210456<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27337-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922890-210455<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27337-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922890-210455<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121590138&amp;loc=SL82922954-210456<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922890-210455<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922888-210455<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121590138&amp;loc=SL82922954-210456<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922888-210455<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974287984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">$ 182,634<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">214,542<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">139,298<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">61,998<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">12,563<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">611,035<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">124,805<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">177,030<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">129,638<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">51,152<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">12,563<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">495,188<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">26,465<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">27,660<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">6,176<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">9,862<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">70,163<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">12,162<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">9,852<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">2,492<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">24,506<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">18,578<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">18,578<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">992<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">984<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">1,976<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Debt Securities, Available-for-sale [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">less than 1 year</a></td>
<td class="nump">624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">$ 624<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after second year but before third year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126980459&amp;loc=SL120269850-112803<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27198-111563<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124258926&amp;loc=SL82898722-210454<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26610-111562<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644980505712">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Schedule of Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 41,568<span></span>
</td>
<td class="nump">$ 50,452<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">1,704<span></span>
</td>
<td class="nump">5,293<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">52,740<span></span>
</td>
<td class="nump">57,357<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 96,012<span></span>
</td>
<td class="nump">$ 113,102<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971478640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Narrative (Details)<br> ft&#178; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 04, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 04, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease, cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,215<span></span>
</td>
<td class="nump">$ 2,021<span></span>
</td>
<td class="nump">$ 4,444<span></span>
</td>
<td class="nump">$ 4,023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating lease, payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,227<span></span>
</td>
<td class="nump">2,014<span></span>
</td>
<td class="nump">4,306<span></span>
</td>
<td class="nump">4,075<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Lease, cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="nump">$ 38<span></span>
</td>
<td class="nump">75<span></span>
</td>
<td class="nump">$ 78<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">$ 23,157<span></span>
</td>
<td class="nump">32,128<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,128<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">25,581<span></span>
</td>
<td class="nump">34,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="nump">$ 25,581<span></span>
</td>
<td class="nump">$ 34,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 34,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">3.40%<span></span>
</td>
<td class="nump">2.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">5 years 1 month 6 days<span></span>
</td>
<td class="text">6 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=cgnx_SouthboroughMassachusettsMember', window );">Southborough, Massachusetts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetRentableArea', window );">Rentable area | ft&#178;</a></td>
<td class="nump">65<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Term of contract</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract', window );">Option to renew, term of contract</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Option to Renew, Term of Contract</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetRentableArea">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net rentable area for properties owned.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetRentableArea</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=cgnx_SouthboroughMassachusettsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=cgnx_SouthboroughMassachusettsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644980641264">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">Remainder of fiscal 2022</a></td>
<td class="nump">$ 4,536<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023</a></td>
<td class="nump">8,002<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2024</a></td>
<td class="nump">5,114<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2025</a></td>
<td class="nump">3,408<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2026</a></td>
<td class="nump">2,731<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2027</a></td>
<td class="nump">2,662<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">11,035<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total</a></td>
<td class="nump">$ 37,488<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979588432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance as of December 31, 2021</a></td>
<td class="nump">$ 241,713<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign exchange rate changes</a></td>
<td class="num">(1,915)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance as of July 3, 2022</a></td>
<td class="nump">$ 239,798<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644969978288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 73,675<span></span>
</td>
<td class="nump">$ 73,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">63,449<span></span>
</td>
<td class="nump">61,787<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">10,226<span></span>
</td>
<td class="nump">11,888<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">10,226<span></span>
</td>
<td class="nump">11,888<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember', window );">Distribution networks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">38,060<span></span>
</td>
<td class="nump">38,060<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">38,060<span></span>
</td>
<td class="nump">38,060<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Completed technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">24,217<span></span>
</td>
<td class="nump">24,217<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">16,519<span></span>
</td>
<td class="nump">15,234<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">7,698<span></span>
</td>
<td class="nump">8,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">7,698<span></span>
</td>
<td class="nump">8,983<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">10,578<span></span>
</td>
<td class="nump">10,578<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">8,241<span></span>
</td>
<td class="nump">7,891<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">2,337<span></span>
</td>
<td class="nump">2,687<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">2,337<span></span>
</td>
<td class="nump">2,687<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember', window );">Non-compete agreements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">710<span></span>
</td>
<td class="nump">710<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">519<span></span>
</td>
<td class="nump">492<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">191<span></span>
</td>
<td class="nump">218<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">191<span></span>
</td>
<td class="nump">218<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademarks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">110<span></span>
</td>
<td class="nump">110<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">110<span></span>
</td>
<td class="nump">110<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember', window );">Indefinite-lived intangible asset excluding in-process technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">10,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">Remainder of fiscal 2022</a></td>
<td class="nump">1,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2023</a></td>
<td class="nump">2,594<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2024</a></td>
<td class="nump">2,080<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2025</a></td>
<td class="nump">1,757<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2026</a></td>
<td class="nump">1,452<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2027</a></td>
<td class="nump">730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 10,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644973943040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations - Changes in Warranty Obligations (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward', window );"><strong>Movement in Standard Product Warranty Accrual [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Beginning balance</a></td>
<td class="nump">$ 5,427<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Provisions for warranties issued during the period</a></td>
<td class="nump">1,255<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Fulfillment of warranty obligations</a></td>
<td class="num">(1,461)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Ending balance</a></td>
<td class="nump">$ 5,221<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139645062079392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitment and Contingencies (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Outstanding purchase orders</a></td>
<td class="nump">$ 67,516<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979767824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 03, 2022</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments and Hedging Activities Disclosures [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1', window );">Remaining maturity of foreign currency derivatives (up to)</a></td>
<td class="text">3 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971076992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Outstanding Forward Contracts Table (Details) - Not Designated as Hedging Instrument<br> &#8364; in Thousands, &#8361; in Thousands, &#165; in Thousands, &#165; in Thousands, &#163; in Thousands, Ft in Thousands, $ in Thousands, $ in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>MXN ($)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>HUF (Ft)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>MXN ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>HUF (Ft)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CAD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Euro Member Countries, Euro</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="nump">&#8364; 75,000<span></span>
</td>
<td class="nump">$ 78,329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 65,000<span></span>
</td>
<td class="nump">$ 73,748<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">China, Yuan Renminbi</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,377<span></span>
</td>
<td class="nump">&#165; 183,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,500<span></span>
</td>
<td class="nump">&#165; 54,374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Mexico, Pesos</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,839<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 220,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,842<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 140,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Japanese Yen</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,789<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 650,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,213<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">United Kingdom, Pounds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 3,150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,552<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 3,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Hungary, Forint</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,552<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">Ft 1,355,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,155<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">Ft 1,355,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Korean Won</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 4,270,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Canada, Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,480<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payments on the derivative asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5580258-113959<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_EUR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_EUR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_CNY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_CNY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_MXN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_MXN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_JPY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_JPY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_GBP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_GBP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_HUF">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_HUF</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_KRW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_KRW</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_CAD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CurrencyAxis=currency_CAD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644968460144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative asset</a></td>
<td class="nump">$ 46<span></span>
</td>
<td class="nump">$ 39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">425<span></span>
</td>
<td class="nump">230<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument | Prepaid Expenses and Other Current Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative asset</a></td>
<td class="nump">46<span></span>
</td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument | Accrued Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">$ 425<span></span>
</td>
<td class="nump">$ 230<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=cgnx_AccruedExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=cgnx_AccruedExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644980644368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Offsetting Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAsset', window );">Gross amounts of recognized assets</a></td>
<td class="nump">$ 46<span></span>
</td>
<td class="nump">$ 39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset', window );">Gross amounts offset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Net amount of assets presented</a></td>
<td class="nump">46<span></span>
</td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiability', window );">Gross amounts of recognized liabilities</a></td>
<td class="nump">425<span></span>
</td>
<td class="nump">230<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset', window );">Gross amounts offset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Net amount of liabilities presented</a></td>
<td class="nump">$ 425<span></span>
</td>
<td class="nump">$ 230<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126966630&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226000-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=121570589&amp;loc=SL51823488-111719<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=121570589&amp;loc=SL51823488-111719<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624163-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226000-175313<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126966630&amp;loc=d3e41228-113958<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971168432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments - Derivative Instruments, Gain (Loss) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument | Foreign Currency Gain (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNet', window );">Gains (losses) recognized in current operations</a></td>
<td class="nump">$ 6,191<span></span>
</td>
<td class="num">$ (746)<span></span>
</td>
<td class="nump">$ 7,930<span></span>
</td>
<td class="nump">$ 2,148<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainLossOnDerivativeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainLossOnDerivativeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644968478144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Revenue Disaggregated by Geography (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 274,628<span></span>
</td>
<td class="nump">$ 269,158<span></span>
</td>
<td class="nump">$ 557,035<span></span>
</td>
<td class="nump">$ 508,185<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AmericasMember', window );">Americas</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">91,551<span></span>
</td>
<td class="nump">108,418<span></span>
</td>
<td class="nump">218,210<span></span>
</td>
<td class="nump">216,254<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">61,840<span></span>
</td>
<td class="nump">59,967<span></span>
</td>
<td class="nump">124,631<span></span>
</td>
<td class="nump">117,015<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CN', window );">Greater China</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">78,616<span></span>
</td>
<td class="nump">59,706<span></span>
</td>
<td class="nump">127,021<span></span>
</td>
<td class="nump">97,944<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=cgnx_AsiaExcludingChinaMember', window );">Other Asia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 42,621<span></span>
</td>
<td class="nump">$ 41,067<span></span>
</td>
<td class="nump">$ 87,173<span></span>
</td>
<td class="nump">$ 76,972<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AmericasMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AmericasMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=cgnx_AsiaExcludingChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=cgnx_AsiaExcludingChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970033312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Revenue Disaggregated by Products and Services (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 274,628<span></span>
</td>
<td class="nump">$ 269,158<span></span>
</td>
<td class="nump">$ 557,035<span></span>
</td>
<td class="nump">$ 508,185<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cgnx_StandardProductsandServicesMember', window );">Standard products and services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">221,474<span></span>
</td>
<td class="nump">234,322<span></span>
</td>
<td class="nump">479,354<span></span>
</td>
<td class="nump">456,648<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cgnx_ApplicationSpecificCustomerSolutionsMember', window );">Application-specific customer solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 53,154<span></span>
</td>
<td class="nump">$ 34,836<span></span>
</td>
<td class="nump">$ 77,681<span></span>
</td>
<td class="nump">$ 51,537<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cgnx_StandardProductsandServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cgnx_StandardProductsandServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cgnx_ApplicationSpecificCustomerSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cgnx_ApplicationSpecificCustomerSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979669568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue Recognition - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostGross', window );">Costs to fulfill contract</a></td>
<td class="nump">$ 14,428<span></span>
</td>
<td class="nump">$ 10,854<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126905575&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971199760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Schedule of Allowance for Credit Loss (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Accounts Receivable, Allowance for Credit Loss [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance as of December 31, 2021</a></td>
<td class="nump">$ 776<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Write-offs, net of recoveries</a></td>
<td class="num">(36)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment', window );">Foreign exchange rate changes</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance as of July 3, 2022</a></td>
<td class="nump">$ 741<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974422048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition - Deferred Revenue Activity (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInDeferredRevenueRollForward', window );"><strong>Movement in Deferred Revenue [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Balance as of December 31, 2021</a></td>
<td class="nump">$ 35,743<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAdditions', window );">Deferral of revenue billed in the current period, net of recognition</a></td>
<td class="nump">69,834<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueRevenueRecognized1', window );">Recognition of revenue deferred in prior period</a></td>
<td class="num">(28,557)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment', window );">Foreign exchange rate changes</a></td>
<td class="num">(1,635)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Balance as of July 3, 2022</a></td>
<td class="nump">$ 75,385<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Revenue, Foreign Currency Exchange Adjustment</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueRevenueRecognized1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInDeferredRevenueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInDeferredRevenueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970301152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 04, 2021 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 04, 2021 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair values, in dollars per share | $ / shares</a></td>
<td class="nump">$ 18.21<span></span>
</td>
<td class="nump">$ 32.07<span></span>
</td>
<td class="nump">$ 22.33<span></span>
</td>
<td class="nump">$ 33.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue', window );">Total intrinsic value</a></td>
<td class="nump">$ 934,000<span></span>
</td>
<td class="nump">$ 11,621,000<span></span>
</td>
<td class="nump">$ 3,099,000<span></span>
</td>
<td class="nump">$ 53,948,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue', window );">Total fair values of stock options vest</a></td>
<td class="nump">$ 1,188,000<span></span>
</td>
<td class="nump">1,830,000<span></span>
</td>
<td class="nump">$ 26,723,000<span></span>
</td>
<td class="nump">37,430,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NumberOfGroupsWithinEmployeePopulation', window );">Groups within the employee population | group</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement', window );">Estimated annual forfeiture rate for unvested options for senior management</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement', window );">Estimated annual forfeiture rate for unvested options for all other employees</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates', window );">Increase (decrease) to compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,536,000<span></span>
</td>
<td class="nump">255,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation expense</a></td>
<td class="nump">$ 69,142,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 69,142,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition', window );">Weighted average period to be recognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">12,997,000<span></span>
</td>
<td class="nump">10,730,000<span></span>
</td>
<td class="nump">$ 28,053,000<span></span>
</td>
<td class="nump">22,739,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Tax benefit from compensation expense</a></td>
<td class="nump">2,044,000<span></span>
</td>
<td class="nump">$ 1,651,000<span></span>
</td>
<td class="nump">4,363,000<span></span>
</td>
<td class="nump">$ 3,464,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount', window );">Recognized period costs capitalized</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant under stock option plans (in shares) | shares</a></td>
<td class="nump">14,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ExpirationPeriodOfStockOptionPlan', window );">Expiration period from grant day</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 45.25<span></span>
</td>
<td class="nump">$ 75.98<span></span>
</td>
<td class="nump">$ 63.37<span></span>
</td>
<td class="nump">$ 87.46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">481,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="nump">20,000<span></span>
</td>
<td class="nump">13,000<span></span>
</td>
<td class="nump">74,000<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 62.49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">33,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares) | shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | General Stock Option Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | General Stock Option Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee service share based compensation recognized period costs capitalized amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated forfeiture rate for unvested options for all non-senior management.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated forfeiture rate for unvested options for senior management.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ExpirationPeriodOfStockOptionPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expiration period of stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ExpirationPeriodOfStockOptionPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NumberOfGroupsWithinEmployeePopulation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of groups within employee population.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NumberOfGroupsWithinEmployeePopulation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options vested fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit for recognition of expense of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=cgnx_GeneralStockOptionPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=cgnx_GeneralStockOptionPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971549632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 03, 2022 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Shares (in&#160;thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, shares | shares</a></td>
<td class="nump">7,610<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted, shares | shares</a></td>
<td class="nump">1,030<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised, shares | shares</a></td>
<td class="num">(133)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited or expired, shares | shares</a></td>
<td class="num">(118)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, shares | shares</a></td>
<td class="nump">8,389<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable as of reporting date, shares | shares</a></td>
<td class="nump">4,347<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Options vested or expected to vest as of reporting date, shares | shares</a></td>
<td class="nump">7,927<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted- Average Exercise Price</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, in dollars per share | $ / shares</a></td>
<td class="nump">$ 49.38<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, in dollars per share | $ / shares</a></td>
<td class="nump">64.02<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, in dollars per share | $ / shares</a></td>
<td class="nump">44.66<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited or expired, in dollars per share | $ / shares</a></td>
<td class="nump">59.53<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, in dollars per share | $ / shares</a></td>
<td class="nump">51.11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares</a></td>
<td class="nump">43.46<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested and expected to vest, outstanding, in dollars per share | $ / shares</a></td>
<td class="nump">$ 50.45<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted- Average Remaining Contractual Term&#160;(in&#160;years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding, in years</a></td>
<td class="text">6 years 5 months 19 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, in years</a></td>
<td class="text">5 years 3 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Options vested or expected to vest, in years</a></td>
<td class="text">6 years 4 months 9 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract', window );"><strong>Aggregate Intrinsic Value (in&#160;thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, in dollars | $</a></td>
<td class="nump">$ 26,951<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue', window );">Exercisable, in dollars | $</a></td>
<td class="nump">26,615<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Options vested or expected to vest, in dollars | $</a></td>
<td class="nump">$ 26,938<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970121232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free rate</a></td>
<td class="nump">1.90%<span></span>
</td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">1.90%<span></span>
</td>
<td class="nump">1.30%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.53%<span></span>
</td>
<td class="nump">0.31%<span></span>
</td>
<td class="nump">0.40%<span></span>
</td>
<td class="nump">0.27%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">37.00%<span></span>
</td>
<td class="nump">39.00%<span></span>
</td>
<td class="nump">37.00%<span></span>
</td>
<td class="nump">39.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">6 years 1 month 6 days<span></span>
</td>
<td class="text">7 years 1 month 6 days<span></span>
</td>
<td class="text">5 years 2 months 12 days<span></span>
</td>
<td class="text">5 years 9 months 18 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974408592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details) - Restricted Stock Units (RSUs) - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares (in thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested as of Beginning of Period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">823<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">481<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="nump">20<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="nump">74<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited or expired (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(36)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested as of End of Period (in shares)</a></td>
<td class="nump">1,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested as of Beginning of Period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 65.26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">$ 45.25<span></span>
</td>
<td class="nump">$ 75.98<span></span>
</td>
<td class="nump">63.37<span></span>
</td>
<td class="nump">$ 87.46<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited or expired (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66.56<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested as of End of Period (in dollars per share)</a></td>
<td class="nump">$ 63.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 63.47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971229232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details) - Performance Shares - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares (in thousands)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested as of Beginning of Period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited or expired (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested as of End of Period (in shares)</a></td>
<td class="nump">33<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested as of Beginning of Period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62.49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited or expired (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested as of End of Period (in dollars per share)</a></td>
<td class="nump">$ 62.49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 62.49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970038960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 12,997<span></span>
</td>
<td class="nump">$ 10,730<span></span>
</td>
<td class="nump">$ 28,053<span></span>
</td>
<td class="nump">$ 22,739<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfGoodsTotalMember', window );">Cost of Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">482<span></span>
</td>
<td class="nump">351<span></span>
</td>
<td class="nump">1,045<span></span>
</td>
<td class="nump">599<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research, Development, and Engineering Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">3,851<span></span>
</td>
<td class="nump">3,064<span></span>
</td>
<td class="nump">8,299<span></span>
</td>
<td class="nump">7,067<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember', window );">Selling, General, and Administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 8,664<span></span>
</td>
<td class="nump">$ 7,315<span></span>
</td>
<td class="nump">$ 18,709<span></span>
</td>
<td class="nump">$ 15,073<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfGoodsTotalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfGoodsTotalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644977098496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program (Details) - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Mar. 03, 2022</div></th>
<th class="th"><div>Mar. 12, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramMarch2020Member', window );">Repurchase Program March 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRedeemedOrCalledDuringPeriodShares', window );">Shares repurchased at cost (in shares)</a></td>
<td class="nump">1,677<span></span>
</td>
<td class="nump">2,737<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRedeemedOrCalledDuringPeriodValue', window );">Shares repurchased at cost</a></td>
<td class="nump">$ 117,000,000<span></span>
</td>
<td class="nump">$ 200,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramMarch2022Member', window );">Repurchase Program March 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRedeemedOrCalledDuringPeriodShares', window );">Shares repurchased at cost (in shares)</a></td>
<td class="nump">590<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRedeemedOrCalledDuringPeriodValue', window );">Shares repurchased at cost</a></td>
<td class="nump">$ 37,317,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Remaining authorized repurchase amount</a></td>
<td class="nump">$ 462,683,000<span></span>
</td>
<td class="nump">$ 462,683,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityClassOfTreasuryStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityClassOfTreasuryStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRedeemedOrCalledDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of stock bought back by the entity at the exercise price or redemption price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRedeemedOrCalledDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRedeemedOrCalledDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock bought back by the entity at the exercise price or redemption price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRedeemedOrCalledDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount remaining of a stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramMarch2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramMarch2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramMarch2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramMarch2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644971383392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Apr. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">9.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount', window );">Discrete tax expense (benefit)</a></td>
<td class="num">$ (4,792)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (896)<span></span>
</td>
<td class="nump">$ 1,546<span></span>
</td>
<td class="num">$ (6,103)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount', window );">Decrease in tax expense related to loss from fire</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxSettlements', window );">Increase in tax expense arising from tax settlement</a></td>
<td class="nump">2,519<span></span>
</td>
<td class="nump">$ 1,417<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Increase in tax expense related to valuation allowance</a></td>
<td class="nump">1,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Increase in tax expense related to transfer pricing and return-to-provision adjustments</a></td>
<td class="nump">$ 3,353<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount', window );">Decrease in tax expense related to stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,431<span></span>
</td>
<td class="nump">$ 6,638<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent', window );">Effective tax rate excluding discrete items (as a percent)</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LiabilityForUncertainTaxPositions', window );">Liability for uncertain tax positions</a></td>
<td class="nump">$ 13,444<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,444<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes classified as a noncurrent iability</a></td>
<td class="nump">12,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,780<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredLiabilities', window );">Increase to non-current deferred tax liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 568<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TaxyearsopentoexaminationbyInternalRevenueService', window );">Tax years open to examination by Internal Revenue Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2019 through 2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities', window );">Tax years open to examination by various taxing authorities for other entities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2016 through 2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities', window );">Unrecognized tax benefits, increase resulting from settlements with taxing authorities</a></td>
<td class="nump">$ 2,519<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority | Revenue Commissioners, Ireland</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority | State Administration of Taxation, China</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority | KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Catastrophic Event, Amount</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The tax year(s) being audited in connection with the income tax examination for other entities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LiabilityForUncertainTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Liability for uncertain tax positions, total.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LiabilityForUncertainTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_TaxyearsopentoexaminationbyInternalRevenueService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tax years open to examination by Internal Revenue Service</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_TaxyearsopentoexaminationbyInternalRevenueService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126970579&amp;loc=d3e23163-113944<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxSettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax settlements. Including, but not limited to, domestic tax settlement, foreign tax settlement, state and local tax settlement, and other tax settlements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxSettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Change during the period in carrying value for all deferred liabilities due within one year or operating cycle.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from settlements with taxing authorities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=country_KP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=country_KP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644974532368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares - Calculation of Weighted-Average Shares (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted-average common shares outstanding (in shares)</a></td>
<td class="nump">173,507<span></span>
</td>
<td class="nump">176,626<span></span>
</td>
<td class="nump">173,830<span></span>
</td>
<td class="nump">176,454<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Effect of dilutive equity awards (in shares)</a></td>
<td class="nump">1,486<span></span>
</td>
<td class="nump">3,365<span></span>
</td>
<td class="nump">2,044<span></span>
</td>
<td class="nump">3,528<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average common and common-equivalent shares outstanding (in shares)</a></td>
<td class="nump">174,993<span></span>
</td>
<td class="nump">179,991<span></span>
</td>
<td class="nump">175,874<span></span>
</td>
<td class="nump">179,982<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644968475568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares (Details) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of earnings per share (shares)</a></td>
<td class="nump">4,048,000<span></span>
</td>
<td class="nump">701,000<span></span>
</td>
<td class="nump">1,818,000<span></span>
</td>
<td class="nump">591,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of earnings per share (shares)</a></td>
<td class="nump">480,000<span></span>
</td>
<td class="nump">500<span></span>
</td>
<td class="nump">21,000<span></span>
</td>
<td class="nump">1,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of earnings per share (shares)</a></td>
<td class="nump">33,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644970131792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Loss from Fire (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 07, 2022</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
<th class="th"><div>Jul. 03, 2022</div></th>
<th class="th"><div>Jul. 04, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CatastropheAbstract', window );"><strong>Catastrophe [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_GrossLossFromCatastrophes', window );">Gross loss from catastrophes</a></td>
<td class="nump">$ 44,903<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Inventory write-down</a></td>
<td class="nump">36,484<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Asset impairment charge</a></td>
<td class="nump">$ 8,419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EstimatedInsuranceRecoveries', window );">Estimated insurance recoveries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossFromCatastrophes', window );">Loss from fire</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,403<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 17,403<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CatastropheAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Catastrophe</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CatastropheAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_GrossLossFromCatastrophes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross Loss from Catastrophes</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_GrossLossFromCatastrophes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EstimatedInsuranceRecoveries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of amounts expected to be recovered under the terms of insurance contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EstimatedInsuranceRecoveries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossFromCatastrophes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The charge against earnings in the period for the uninsured portion of a loss from a fire, explosion, or natural disaster (hurricane, earthquake).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossFromCatastrophes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.2</span><table class="report" border="0" cellspacing="2" id="idm139644979657552">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details)<br></strong></div></th>
<th class="th">
<div>Aug. 02, 2022 </div>
<div>$ / shares</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Dividends (in dollars per share)</a></td>
<td class="nump">$ 0.065<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>cgnx-20220703_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?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/20220703"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:currency="http://xbrl.sec.gov/currency/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cgnx-20220703.xsd" xlink:type="simple"/>
    <context id="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i0120f99de321420e9573cf8bde1062c4_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2021-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i194e427ca3d340af80848fb3854e8ef7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5c51190f418d4624a1ced49cafff6754_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i987af0567ae743cca6c3024e14eb819b_I20210704">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2021-07-04</instant>
        </period>
    </context>
    <context id="i32c95cd61a0d4856bdd854de3e2841ca_I20220403">
        <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>2022-04-03</instant>
        </period>
    </context>
    <context id="ie8ea09e451f442428698bdda60de1f63_I20220403">
        <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>2022-04-03</instant>
        </period>
    </context>
    <context id="i88fa227af48e41399ad43596248d1f1d_I20220403">
        <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>2022-04-03</instant>
        </period>
    </context>
    <context id="ic7de6eae4aa146cf97b1a520164bcd39_I20220403">
        <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>2022-04-03</instant>
        </period>
    </context>
    <context id="i739e123723424159b09a3135b61420a3_I20220403">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2022-04-03</instant>
        </period>
    </context>
    <context id="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i729bb94dfa1f44948ab9ff09a58d086c_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i3f63dadcfebf4547bc8ce410833b853a_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i51449fbdc5674ff2849fb7e1008e0725_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ia063d6ebf39046338805f902de09ece7_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="id921fb2e59bf4a56a4ac20326a5d1b67_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i518b4487112b4961b7947ef3908a67b3_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="i5ace0e76e3f948ff891a65aa0da45a61_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="i83a98c21a59842379e15b3f946a2e1a6_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="id29b49dd1d86487bba49667b83a6b115_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="i63b6b28dd0af4a31bd162a966a337480_I20210404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2021-04-04</instant>
        </period>
    </context>
    <context id="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="if8e3797e3b8d49f6a9e6801f7f9b21b5_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="ib4947ca801e140829772591d5172fdc4_I20210704">
        <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-07-04</instant>
        </period>
    </context>
    <context id="i00d322987b81436693ab321e89e4326c_I20210704">
        <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-07-04</instant>
        </period>
    </context>
    <context id="id5cba2ed375146ad91d7307545b63c80_I20210704">
        <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-07-04</instant>
        </period>
    </context>
    <context id="i0bc15bc08fc145b2a6b4cfb556ab1824_I20210704">
        <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-07-04</instant>
        </period>
    </context>
    <context id="ife8ea1ce918d44c09f1ac4b4b89490ba_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i425d0838bc894e67bebedc750c61ad9c_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i3de2b9b179b34515967701a54e4d1bb8_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="ie1b60b328835444ba7edf4132f25d071_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="id3bf99c177844901b393b16edd9d925e_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i948e0aec57804f7ca76f62c5c0504c65_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="ifb86921fa79b45458d499304d03ce1dc_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="i876a2cc96328468bb85cd46eb074fd08_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="i33abd1cff3a34debb7905724afbe1d51_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="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="ieacc184623134bd7b7d06618f6706333_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i3a16d4b0e1b0474cad19d38781816a46_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i0360ee575d9e4e86a0f47ae967c21213_I20220703">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="if757f38f5bdd4c939d049d87a95ac59c_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ic4ea99863df44db7aea0439c7419ae6f_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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>2022-07-03</instant>
        </period>
    </context>
    <context id="id81ee529a1314ca3934d96b838a5ea94_I20220703">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="ie008d184b61246e58c1233ccc0c7b409_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i77f4cad60bfb4a29b34b64cb4a574ae6_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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>2022-07-03</instant>
        </period>
    </context>
    <context id="i8ed35f25c979426da39ab75c7c9b65ac_I20220703">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i89f526d469034bf092990480cd44610b_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i03287ddc4b1e4a2d9a1b4b116aed7bd1_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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>2022-07-03</instant>
        </period>
    </context>
    <context id="i14f7ade48dd54ff9ab5002d2356dfaa1_I20220703">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="ic35b7db1aa71474aaacaf2aac2fbe17a_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i92f7d65fd1294f6684660a2833f6f67a_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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>2022-07-03</instant>
        </period>
    </context>
    <context id="i900d6293cd6a4957a9c87db519f706e2_I20220703">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i0133b6a15012403c9aae6b02d26c2e76_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i981d4f1eccab456885f61e1d738832ac_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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>2022-07-03</instant>
        </period>
    </context>
    <context id="i3e4fb536e6844ec69ddacc2e35b4e58f_I20220703">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i684a6e1d7eee441cb8946daac707f994_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i26f8465ff4884c99b77e93ad07d51a88_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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>2022-07-03</instant>
        </period>
    </context>
    <context id="i9eae83011fcf441195104bd4730e5860_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if655ab2146f949938f1537cc89b9f5df_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i3c1b7f60bfd648e6835f8baadffaaca3_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i3185613bcd024576a3d64e9e02161f8e_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i1386388acc254a53b261cd51f0b27108_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="iab5936e583b74fb4b0603159a8da7d6a_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ie7fa7e149f9342268a593002c6c0481a_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i81fa8af1f8ee45db904a3f8ea5d82771_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i3b3bbfecc52f45bebb2ee45673bba91f_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i79ea79df485441d3a01bc5840570243f_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ia019108500434dc69ff1453b0ebb35f5_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i7d2515138f594eb6849e8e06fa3d1a95_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="iebf72c394fea4a13937203b515e00a0f_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i62da00452b0f40d1b875dc023ea2fd11_I20220703">
        <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">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i4f48083c39c247418c8ebf025083b62e_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i941a929dd1904e5db2765c1c20361836_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="id88631cb785544b99b23d6a5d866de5f_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i6d717bee1e5841b5a4929e49d8b89926_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i838e088964e04214af67aab7ae8bee29_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="id89647d516424703a73aa6bba2954718_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="if3eac359d8944078829b16ee8b107930_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ifa97cca7645743f6b056c6140a2f06e7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:SouthboroughMassachusettsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie8a64f61a7004c7b8795ce620fc86977_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:SouthboroughMassachusettsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac666983932948cd872e2d0e4c2742dc_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:SouthboroughMassachusettsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i1074b83bca3f47639e15d262f3898cbd_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ibb6e178c62544e5d91c891b5e078d005_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ie2fe481adc6e49f99e921e5b247ce660_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i096756e1b1c44408beb972c46a48e5b0_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="ic65a1926b14248a4a5e94b0f208eefbe_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i11939350145f4d89bbda184bdcff696d_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i6bc61925e198478189818d2c0a656787_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="icc28cdcff7d54a05a89b9ec624e65bff_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i767cb8f6150c4e9d82c347a690c6ebce_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i5ed2d698c5654399a4ae6621b9ba3d32_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i9fa85bdefdff42b182c42ff1a49c0610_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ifdbdd17085324d549fa107fc051eee2a_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="ia2373098eccd4042913f057bdac9f573_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ia7bd15dac48b41a5aafff143d3d3b990_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i16449076a6654af28335ac2a8cab60f3_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i9b2ffed476df4579bbcc38a25e1d8db9_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i7524ddb9ea03422a9e7e2ebbea77de0a_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i694f091dcec34812bad0480464436d7e_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i342a922d9dc945a18b79c96091725dbe_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i49f516875e854bad8e4721d0f3ca17ec_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i836accfb1dd045f7b2f92c71a31a58dc_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i16d30d88657e4f6fa4e81e6bf35d1667_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i4c3c2ddb2e4f4ea28a57f2f21cf87318_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i70b292f313584022a002a1ecdb38404c_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="idda92086fdb9495aab36454165488471_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i79fff7c6f7fd44179dd1404b9e10abd4_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="ia01ad5e1b05d46d98499861900f21876_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="ia6e6eeba1e7e4dd0ae015dd36d06a158_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i67a2d9e07ca9441c89ab9480183f02ce_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i0c76d424fd3d4d51b9e63fe42350111e_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i18e6ad545650414ba0427bb15f1f40ed_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i176845b2165d4c1c901c94617d33fad0_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i7fa5c02f551b4853a9ded76fc71fbb81_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i1272258b978247acad7cabc4e78fe7f3_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="id4f60b94102045c6ad876f25645533fe_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i5e00f0f2c2a9479fb066f3d76f8a2c84_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i777b159c8c91485d8eb5cb5873eb63b5_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i95cc2e2c61c641eba1a24245b544a319_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i5bd033c483ca483eaac86097ba325f9e_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ia6f5c8235eff4f5989c9928eaa8b4c8e_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="id8590e74013144c096fe7894310c039a_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i3bacc758d8af43adb630bc7b3e695554_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i44a323570a09492eb9272094386565b0_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i818f46ae4a814e8cb204092b2c400112_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i2adf86e363104a67a322b83f32ddb221_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i02a9248fc6ed45c1bc7e6a58688914bf_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i771400f31d514be59ce14adb1d6bd67b_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i2138393603c64ae789977c365f3dbd67_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i0b77a45a38054361bcd9f10ab8bd4790_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i28af0bfc503d464a8bef9493117c1298_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i7a8bd57825f24189a82dd02689b07a55_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i150e9eb565d14f4186103419982ce020_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="ic15a144c421442a39f97514efaaef2d9_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i0140928aa4fb4494a1b8065f16095c6a_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i8e33f30c2a3546e3b5dc6c1e8b2fecfc_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ie716208e6b8a4ee2aa85f512b7063433_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="iad1acd10cd6c4dcfbfda07e457ab8a11_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="iba9d5c6fad14402da663de45347311a7_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i50b08d1bb8224935990751e82757056b_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i28ed6cec8b094d89823d280154c17a76_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ibae5c310637e4bfa9f95ec32256ec6c0_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i3426b909ccd04c8ba713ede457d177a9_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i84f2b0541591402fab4b7d4cbca3e2ec_D20220101-20220703">
        <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:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i750305d77ecc41889121d69470997f2c_D20220101-20220703">
        <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:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i1613c9c9faae42a490bda25821a1c269_I20211231">
        <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-12-31</instant>
        </period>
    </context>
    <context id="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i207553719b9c4b88983ad68e6a92538b_I20220703">
        <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>2022-07-03</instant>
        </period>
    </context>
    <context id="i0b7030e870764aa496f7be238c1eca5e_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i75767adc6b334abc8f04169990c2b850_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i351e44c9bf1043498601933e91a3022e_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i44cc039320e1443e9eb41f3f97d5f0c6_I20211231">
        <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>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifd0589fc43f04e318abb7b2b79b0f048_I20220703">
        <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>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="ia28ded5e06694c1eae5547d10145a791_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ibf24b603aaa2464b8d5c19ef0ef97e34_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i71d5b0c487574779b5e655e0664db1a9_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i42059a6f763e44de9fd3f1dc1ae818ae_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i8b194c1428cc4cc3a049747722c7dbad_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i9ef24690ee624002b1e38e47c666a2b1_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i24623843aab94e8490eca1b8e6802b2e_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i16e9aa4c43284b06a6bf707e53fc421b_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i06b5ba8490b84cd2a46add82788b3311_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="id78527f3e5b14eac8e241989a2b143af_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="id1bff5b758f442518f0e0a460097e012_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i31eea51c97224657b3b10d8f8987614e_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="id88af386d5a5435180d92d01e15ece8c_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="icf547b2babc04b978f280624150cb111_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i6693853fc15e47d387c2d4dde38dc6b4_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i3fc1b579c763483f89e053ac4c3b765a_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="ib0d6310e188344299286abcdb9ee4c7f_D20211004-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ieac909b07de44bd78250f0bd7b3862bd_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i8d82b56df1dc4c1e9bf6f07262e9e5cb_I20220303">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-03</instant>
        </period>
    </context>
    <context id="idcc952b09a794344b7281af15824c4f8_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i05d2bb8b24d44451bd6b8bf8f694262a_I20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramMarch2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-03</instant>
        </period>
    </context>
    <context id="iff9cb7e0db364d3c9ebc9afd22a27fea_D20220101-20220403">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-04-03</endDate>
        </period>
    </context>
    <context id="if1f28032030149629ea887977930b17f_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i26703be43d194ff3bf2447a906d96b4b_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i347cee071f5e4f9aa3d8b3aaae04bf06_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i3bc52906d54b41dd9921df05814d6f99_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i8e6b59647e2146019e00324651aeced5_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ia8e6091c580a4d358cd24380f089296c_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i0bd75fa5c10f487c84cc3aa90a628adf_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="ib1d1c6cb6bd84b09bfdc6915cafe0810_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="ia8407e06f9f04c1b8e10743d2acb88ff_D20220404-20220703">
        <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>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i67659c71dc044f0c8d56d979deb57d82_D20220101-20220703">
        <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>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="ic95019c016be45aba7f5e3731a1c89c3_D20210405-20210704">
        <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-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i090d24bbbe26480daa0af82355e528d5_D20210101-20210704">
        <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-07-04</endDate>
        </period>
    </context>
    <context id="i2221882fbb26469788afb36f06c90c29_D20220404-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="if5634baab7934f40b849dfe86c5fe611_D20220101-20220703">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-07-03</endDate>
        </period>
    </context>
    <context id="i349d802412c84b77b0baa6b5a8bd9c06_D20210405-20210704">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-05</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="i50ca9cb4d6094e4ab253b56ba18f095e_D20210101-20210704">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-07-04</endDate>
        </period>
    </context>
    <context id="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2022-06-07</startDate>
            <endDate>2022-06-07</endDate>
        </period>
    </context>
    <context id="i61ce873236814a3fa8823db347733f60_D20220802-20220802">
        <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>2022-08-02</startDate>
            <endDate>2022-08-02</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="sqft">
        <measure>utr:sqft</measure>
    </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="gbp">
        <measure>iso4217:GBP</measure>
    </unit>
    <unit id="huf">
        <measure>iso4217:HUF</measure>
    </unit>
    <unit id="krw">
        <measure>iso4217:KRW</measure>
    </unit>
    <unit id="cad">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="group">
        <measure>cgnx:group</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV8xLTItMS0xLTY2OTA0_ad604927-a64d-4617-b9ac-1c4e505d1aed">0000851205</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV8yLTItMS0xLTY2OTA0_632b43f3-10a1-4348-bd2c-40b75b207c78">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV8zLTItMS0xLTY2OTA0_3cb5287c-048b-448e-8f78-d69c73e367f0">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV80LTItMS0xLTY2OTA0_412b76a0-043b-4923-a061-e98bca0efbae">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80L2ZyYWc6NTZhOTBhMWI2NTJhNDEyMWJhOWUyYjQyZGExZDM3NzAvdGFibGU6MmMxNjMwMjZjNjIzNGMwNTkyYWUzZDBiZDRiM2ZlNmEvdGFibGVyYW5nZToyYzE2MzAyNmM2MjM0YzA1OTJhZTNkMGJkNGIzZmU2YV81LTItMS0xLTY2OTA0_6159f8cc-0a47-47e0-917f-7a8796436d4f">false</dei:AmendmentFlag>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i28ed6cec8b094d89823d280154c17a76_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDYz_479ba460-4060-4086-876a-0865345b6fc3">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i84f2b0541591402fab4b7d4cbca3e2ec_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTYy_f863b510-2a78-488d-8403-50be5577f26c">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i84f2b0541591402fab4b7d4cbca3e2ec_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjMx_51c90430-0b7a-490b-80b1-cce809ba937e">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODAy_58139212-3da8-4907-ae62-41430bf2115c">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzM2ZDdkMGZhODE1NDRhODhlOGNhN2Y3M2ZhNGRkODUvdGFibGVyYW5nZTozMzZkN2QwZmE4MTU0NGE4OGU4Y2E3ZjczZmE0ZGQ4NV8wLTAtMS0xLTY2OTA0_f1c2d81b-c9a4-4176-99a9-822363295156">true</dei:DocumentQuarterlyReport>
    <dei:DocumentTransitionReport
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6OGZkNTQ1NjNlNTU5NGUwNjgyYTM2YjMwZjcyNjYzMmYvdGFibGVyYW5nZTo4ZmQ1NDU2M2U1NTk0ZTA2ODJhMzZiMzBmNzI2NjMyZl8wLTAtMS0xLTY2OTA0_346d5305-da30-47a9-a43b-2c5c0c035ddd">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODAz_245c512e-db9b-48d8-935e-091fb73192de">001-34218</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA2_fc488d9b-e2c1-4ce9-a424-c326eef352f4">COGNEX CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6ZDZkZTBkZDBkYWNmNDVkZDg5ZGYyMjc1ZDk2ZTlmM2QvdGFibGVyYW5nZTpkNmRlMGRkMGRhY2Y0NWRkODlkZjIyNzVkOTZlOWYzZF8wLTAtMS0xLTY2OTA0_cbd0930d-babb-4f03-9d64-59cc8af7ac21">MA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6ZDZkZTBkZDBkYWNmNDVkZDg5ZGYyMjc1ZDk2ZTlmM2QvdGFibGVyYW5nZTpkNmRlMGRkMGRhY2Y0NWRkODlkZjIyNzVkOTZlOWYzZF8wLTItMS0xLTY2OTA0_61e7b35a-9831-4db0-888a-306b15427f8c">04-2713778</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA3_0e7597ef-c31e-426a-b6e2-5fed2fae58f1">One Vision Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA4_27469cc1-29a5-4460-ae9d-cf109369e2be">Natick</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA5_c758906f-ec75-42b0-99ee-3585f6a22eb8">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA0_58c1f4db-660a-4556-8b51-96091a2274eb">01760</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODA1_90f4b9b9-63d9-441e-9751-1b13ce1b9468">508</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xODEw_b5b4f1d9-0700-488d-95f4-bce5b0dfd01a">650-3000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MWM4OWI1ZjcwMDdlNGFhNTk1NGE5ZjM2YzJhNWNmOTEvdGFibGVyYW5nZToxYzg5YjVmNzAwN2U0YWE1OTU0YTlmMzZjMmE1Y2Y5MV8xLTAtMS0xLTY2OTA0_e79bd811-b70c-4645-b733-c3565d41a106">Common Stock, par value $.002 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MWM4OWI1ZjcwMDdlNGFhNTk1NGE5ZjM2YzJhNWNmOTEvdGFibGVyYW5nZToxYzg5YjVmNzAwN2U0YWE1OTU0YTlmMzZjMmE1Y2Y5MV8xLTEtMS0xLTY2OTA0_9578f99e-e72c-449c-931c-47162c014f08">CGNX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MWM4OWI1ZjcwMDdlNGFhNTk1NGE5ZjM2YzJhNWNmOTEvdGFibGVyYW5nZToxYzg5YjVmNzAwN2U0YWE1OTU0YTlmMzZjMmE1Y2Y5MV8xLTItMS0xLTY2OTA0_a23e4010-2f70-49a1-8742-eafc2cae1fba">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6ZGM0ZDVhYzZjOWZjNDkwODg4OGVmMGIxNDdlZTIzMzYvdGFibGVyYW5nZTpkYzRkNWFjNmM5ZmM0OTA4ODg4ZWYwYjE0N2VlMjMzNl8wLTItMS0xLTY2OTA0_87a1ad7a-0bb8-4d1f-8b12-26d04c7e0bf1">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MTA2ZDM2NTJmMzdkNDJlZWI4YjYzNTVlMzM1NmVmODkvdGFibGVyYW5nZToxMDZkMzY1MmYzN2Q0MmVlYjhiNjM1NWUzMzU2ZWY4OV8wLTItMS0xLTY2OTA0_9ce2b354-300d-4df0-9c86-aea4baf14437">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzRjMmExMWY5YWMzNDQ2ZDg1MGVlOTczZWEyMTBjNjEvdGFibGVyYW5nZTozNGMyYTExZjlhYzM0NDZkODUwZWU5NzNlYTIxMGM2MV8wLTAtMS0xLTY2OTA0_3de9a2b8-feb3-4947-89f8-2b092540fa3d">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzRjMmExMWY5YWMzNDQ2ZDg1MGVlOTczZWEyMTBjNjEvdGFibGVyYW5nZTozNGMyYTExZjlhYzM0NDZkODUwZWU5NzNlYTIxMGM2MV8xLTctMS0xLTY2OTA0_56b54e15-1698-4e2c-9000-2dff14876096">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6MzRjMmExMWY5YWMzNDQ2ZDg1MGVlOTczZWEyMTBjNjEvdGFibGVyYW5nZTozNGMyYTExZjlhYzM0NDZkODUwZWU5NzNlYTIxMGM2MV8yLTctMS0xLTY2OTA0_939a6e01-6167-433b-b540-b2f8c286be14">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGFibGU6YzE3OWJlN2RlMjcxNDkyYWEyZTE1MGZkODU4Nzc0OWIvdGFibGVyYW5nZTpjMTc5YmU3ZGUyNzE0OTJhYTJlMTUwZmQ4NTg3NzQ5Yl8wLTMtMS0xLTY2OTA0_4f805ce1-f8d9-421a-b605-3bdf1018bdeb">false</dei:EntityShellCompany>
    <dei:DocumentPeriodEndDate
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xNzAy_b148d9eb-013a-448e-b117-a73e3319a711">2022-07-03</dei:DocumentPeriodEndDate>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xL2ZyYWc6MGEyNDk4NTc4MTE5NGUyNGEzNjVmNDM5ZTk3YjNmNmMvdGV4dHJlZ2lvbjowYTI0OTg1NzgxMTk0ZTI0YTM2NWY0MzllOTdiM2Y2Y18xNzE3_6b898f5f-8147-4d45-b9a9-b8e052620f0f"
      unitRef="shares">173396962</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy0xLTEtMS02NjkwNA_a5b5cb38-52e5-4954-b8ff-01fa0ce511f1"
      unitRef="usd">274628000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy0zLTEtMS02NjkwNA_28326bb0-efd4-42e1-87e0-5dce7c739a9d"
      unitRef="usd">269158000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy01LTEtMS02NjkwNA_9976eb1f-af06-45d9-9393-14b21c1146ab"
      unitRef="usd">557035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMy03LTEtMS02NjkwNA_da73ade3-d074-448f-b16d-a34c20aa88dc"
      unitRef="usd">508185000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC0xLTEtMS02NjkwNA_cd66873c-c768-4062-93eb-89ac97b6996e"
      unitRef="usd">78143000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC0zLTEtMS02NjkwNA_a34643be-a0fa-4108-b4fa-2d898f1faf57"
      unitRef="usd">68432000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC01LTEtMS02NjkwNA_0d9478f5-8878-4f51-afc7-b0c127a479ef"
      unitRef="usd">156933000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNC03LTEtMS02NjkwNA_3633034b-a553-46c5-8596-825a34e3ab65"
      unitRef="usd">122477000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS0xLTEtMS02NjkwNA_f16986d0-bfb4-4218-8cb2-10d269dc884b"
      unitRef="usd">196485000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS0zLTEtMS02NjkwNA_93d6fc43-6eac-45ae-9a12-1d6cd7f203f5"
      unitRef="usd">200726000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS01LTEtMS02NjkwNA_2eee84de-c442-4171-973f-48ba9b31b219"
      unitRef="usd">400102000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNS03LTEtMS02NjkwNA_94557953-7452-4069-81ab-704425fa63d1"
      unitRef="usd">385708000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi0xLTEtMS02NjkwNA_a4448e39-2ee4-4893-b4d3-a21eac25babe"
      unitRef="usd">33991000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi0zLTEtMS02NjkwNA_648d501b-9269-4f2b-9978-8881214a9874"
      unitRef="usd">31302000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi01LTEtMS02NjkwNA_aa750780-5033-4f60-ba09-57a1b2254038"
      unitRef="usd">70045000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNi03LTEtMS02NjkwNA_85dde09e-5114-45ef-8b8c-6cc985b69f8b"
      unitRef="usd">65407000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0xLTEtMS03MDE0MQ_9b979d08-099e-4631-aff8-e7ae5aad315e"
      unitRef="usd">79950000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0zLTEtMS03MDE0MQ_0757491b-135d-49c8-95b2-818b3ab8c6c2"
      unitRef="usd">76843000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy01LTEtMS03MDE0MQ_1b894ad2-c5c0-484a-90d4-a0229f3635e4"
      unitRef="usd">160785000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy03LTEtMS03MDE0MQ_97258998-bd5d-42a1-ac83-39d2ba3515b4"
      unitRef="usd">149267000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:LossFromCatastrophes
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0xLTEtMS02NjkwNA_f52c8de1-6286-4bee-a0c2-dbb9f4246424"
      unitRef="usd">17403000</us-gaap:LossFromCatastrophes>
    <us-gaap:LossFromCatastrophes
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy0zLTEtMS02NjkwNA_2f0639d3-d6ba-4825-b558-edbf997176c2"
      unitRef="usd">0</us-gaap:LossFromCatastrophes>
    <us-gaap:LossFromCatastrophes
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy01LTEtMS02NjkwNA_c27f603a-a006-472a-9507-2743f975cd38"
      unitRef="usd">17403000</us-gaap:LossFromCatastrophes>
    <us-gaap:LossFromCatastrophes
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfNy03LTEtMS02NjkwNA_ad281cae-a87d-4b70-b082-dec9db91a51d"
      unitRef="usd">0</us-gaap:LossFromCatastrophes>
    <us-gaap:OperatingIncomeLoss
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC0xLTEtMS02NjkwNA_fecfb8bd-ae91-46cf-9fcc-c28f8dcd7600"
      unitRef="usd">65141000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC0zLTEtMS02NjkwNA_f5043c7c-9c62-4d56-9053-7f854c265f00"
      unitRef="usd">92581000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC01LTEtMS02NjkwNA_0f3bf243-e4c2-4847-bc43-fa19f46e46b2"
      unitRef="usd">151869000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOC03LTEtMS02NjkwNA_787c165a-90e4-437b-9767-1bb0e04e47b6"
      unitRef="usd">171034000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS0xLTEtMS02NjkwNA_bdded95f-695a-4a4a-8a27-864ce288ed33"
      unitRef="usd">-2043000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS0zLTEtMS02NjkwNA_1f8a5b3c-c4db-48ec-b8c6-0d9dd1902bf3"
      unitRef="usd">-639000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS01LTEtMS02NjkwNA_bd7a92ae-e9f1-4c06-aef7-fabf118e163e"
      unitRef="usd">-2487000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfOS03LTEtMS02NjkwNA_2db9c536-7b1d-46ed-a616-28bd918822c9"
      unitRef="usd">-1647000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtMS0xLTEtNjY5MDQ_5fa7e54e-cc69-4ed2-98d1-29ebea375b2f"
      unitRef="usd">1505000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtMy0xLTEtNjY5MDQ_84b87822-c296-493c-82d6-9ed9613cd675"
      unitRef="usd">1723000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtNS0xLTEtNjY5MDQ_74549f7d-4583-42df-ab44-442d8e7235bb"
      unitRef="usd">2973000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTAtNy0xLTEtNjY5MDQ_891d481b-4281-4dc6-862c-d8c068eb415f"
      unitRef="usd">3277000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtMS0xLTEtNjY5MDQ_ae13bec2-44bd-4276-95d1-3accd7339ae8"
      unitRef="usd">-188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtMy0xLTEtNjY5MDQ_158aa7ee-76f9-4b48-a9cd-912fd35a2c70"
      unitRef="usd">-127000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtNS0xLTEtNjY5MDQ_aa0e9666-10ba-46d9-9841-66bc609da501"
      unitRef="usd">-236000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTEtNy0xLTEtNjY5MDQ_18b05678-a23c-4c1c-91ae-8137c14ad218"
      unitRef="usd">-295000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItMS0xLTEtNjY5MDQ_3fec8372-5b10-426b-af02-071854f532d7"
      unitRef="usd">64415000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItMy0xLTEtNjY5MDQ_40b52ed3-9d13-412b-8cdc-1b7191881e4a"
      unitRef="usd">93538000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItNS0xLTEtNjY5MDQ_0011c606-f289-43ef-90df-a295737959ea"
      unitRef="usd">152119000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTItNy0xLTEtNjY5MDQ_7e41eb74-affe-4560-b131-52d19524886c"
      unitRef="usd">172369000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtMS0xLTEtNjY5MDQ_7f7ce026-2895-4a5c-8ca4-05530bfb11a6"
      unitRef="usd">5514000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtMy0xLTEtNjY5MDQ_912fee97-0264-45fa-b3aa-a93871c6dd9f"
      unitRef="usd">15940000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtNS0xLTEtNjY5MDQ_646bcd4a-8e21-44bd-9d24-3cd33b797331"
      unitRef="usd">25885000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTMtNy0xLTEtNjY5MDQ_a70aae95-55c0-4713-bc43-e670df3d0372"
      unitRef="usd">24923000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtMS0xLTEtNjY5MDQ_865b92e0-d291-44e6-bb96-60951f0b89f0"
      unitRef="usd">58901000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtMy0xLTEtNjY5MDQ_051c2c04-95aa-4d76-9ce9-6b3f52f39a6e"
      unitRef="usd">77598000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtNS0xLTEtNjY5MDQ_06d1359a-4b53-4918-abdb-988fb4a9a124"
      unitRef="usd">126234000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTQtNy0xLTEtNjY5MDQ_af7fae46-43a5-4c03-bbe1-29946267be16"
      unitRef="usd">147446000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctMS0xLTEtNjY5MDQ_b8ca473e-34ca-4aa1-9bf5-88b22e385dab"
      unitRef="usdPerShare">0.34</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctMy0xLTEtNjY5MDQ_2198739d-d260-437d-9651-5549d75689cc"
      unitRef="usdPerShare">0.44</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctNS0xLTEtNjY5MDQ_54eb57ef-41ad-4aad-a9a1-2be0c9a36741"
      unitRef="usdPerShare">0.73</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTctNy0xLTEtNjY5MDQ_0dd06ab3-a9ce-41d3-9b09-ae69ade9efd7"
      unitRef="usdPerShare">0.84</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtMS0xLTEtNjY5MDQ_d5e3f4b6-007b-4bab-8fc7-0f434beda40a"
      unitRef="usdPerShare">0.34</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtMy0xLTEtNjY5MDQ_69c22171-27ed-481c-8527-551bb557f711"
      unitRef="usdPerShare">0.43</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtNS0xLTEtNjY5MDQ_0513cc9a-950b-41a5-8671-dc0ba46cb4ad"
      unitRef="usdPerShare">0.72</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMTgtNy0xLTEtNjY5MDQ_4377cabd-578f-404c-bd1f-73288452a842"
      unitRef="usdPerShare">0.82</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtMS0xLTEtNjY5MDQ_97ab4423-b3b7-48a5-8a63-c994b0e08902"
      unitRef="shares">173507000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtMy0xLTEtNjY5MDQ_85bd68b4-430c-417a-953a-1358319cfd7e"
      unitRef="shares">176626000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtNS0xLTEtNjY5MDQ_d33ebf94-3bc3-4135-bedc-c8663205358e"
      unitRef="shares">173830000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjEtNy0xLTEtNjY5MDQ_9dcf4a46-1c48-48dd-aa7b-5895e6b6f2d3"
      unitRef="shares">176454000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItMS0xLTEtNjY5MDQ_dfdd6126-c993-4a26-a90d-9de955efcd42"
      unitRef="shares">174993000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItMy0xLTEtNjY5MDQ_dab51d5d-97b4-4485-86df-c4e800fcc27b"
      unitRef="shares">179991000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItNS0xLTEtNjY5MDQ_b0faa59e-ba35-4c6c-868e-3223fa7d7b3a"
      unitRef="shares">175874000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjItNy0xLTEtNjY5MDQ_25105bc8-c118-4bb1-afa3-5176c859b260"
      unitRef="shares">179982000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtMS0xLTEtNjY5MDQ_4582db60-a55f-4a7a-b0c3-f00591ae06b2"
      unitRef="usdPerShare">0.065</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtMy0xLTEtNjY5MDQ_2b74b73d-3dba-4d91-9793-9f09ffd2a849"
      unitRef="usdPerShare">0.060</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtNS0xLTEtNjY5MDQ_425dd36f-cef3-4fbf-870a-c9995eeefae6"
      unitRef="usdPerShare">0.130</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMy9mcmFnOmEyNzc5OTgyMGVlMjRjYmQ4YTk2YzM3NTExMzlmMmIwL3RhYmxlOjVhYmYyMmFiMTI1MTRlZjlhNDBmMGQ2ZDAzYTNjNTJjL3RhYmxlcmFuZ2U6NWFiZjIyYWIxMjUxNGVmOWE0MGYwZDZkMDNhM2M1MmNfMjQtNy0xLTEtNjY5MDQ_707c8cae-c539-4b10-975c-9ad86f495459"
      unitRef="usdPerShare">0.120</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:NetIncomeLoss
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy0xLTEtMS02NjkwNA_c746ab63-cd1f-4604-8927-a538e6621c69"
      unitRef="usd">58901000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy0zLTEtMS02NjkwNA_c10c6a62-9800-4693-8298-afd3da450001"
      unitRef="usd">77598000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy01LTEtMS02NjkwNA_6d9702fa-68ed-4978-bdd2-e00347e3b7ad"
      unitRef="usd">126234000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMy03LTEtMS02NjkwNA_41e5c5c4-88e9-406e-9600-511a0666c2d0"
      unitRef="usd">147446000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV80Ng_26a7a965-60fe-4b27-9e41-19bc3fec697a"
      unitRef="usd">-698000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV81Mw_73fa44f7-80af-46be-966d-7acc5976acf8"
      unitRef="usd">-61000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV81NDk3NTU4MTQxMDE_da1a34b2-65dd-4a06-a274-6fc7d6ec68ae"
      unitRef="usd">-4734000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoxZTQ1NTIyMTEzYmY0YjUyYTc0ZDJhNTE2ODNiOTY3ZV81NDk3NTU4MTQwOTM_82dab472-ebea-4500-9ca1-73afe4ccabf5"
      unitRef="usd">-646000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMS0xLTEtNjY5MDQ_d45f6341-4257-4237-8239-a5c1ba831851"
      unitRef="usd">-2322000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtMy0xLTEtNjY5MDQ_705a00b2-23fc-47ee-86ec-5697ac3ce91e"
      unitRef="usd">-138000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtNS0xLTEtNjY5MDQ_4588db1b-9467-4153-937c-79ade91d3a13"
      unitRef="usd">-15870000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTEtNy0xLTEtNjY5MDQ_096a9a34-df87-4e0f-bb63-d3769c5eab47"
      unitRef="usd">-2096000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtMS0xLTEtNjY5MDQ_71a46f35-31a8-41ad-97d9-6ffd98ed88c9"
      unitRef="usd">12000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtMy0xLTEtNjY5MDQ_5391064f-218f-471f-81af-065795e57d8d"
      unitRef="usd">68000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtNS0xLTEtNjY5MDQ_9426923a-4b03-4d33-bfd7-4c733c5e884a"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTMtNy0xLTEtNjY5MDQ_39dfa72e-dd74-428f-8eb7-295dd4a5b179"
      unitRef="usd">68000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtMS0xLTEtNjY5MDQ_4744f2a7-8e77-4ac5-80d7-55e253ac550c"
      unitRef="usd">-2334000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtMy0xLTEtNjY5MDQ_1b1d4a44-5b7b-4c90-a144-f30a90731c71"
      unitRef="usd">-206000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtNS0xLTEtNjY5MDQ_069e5dc8-7d75-4493-926c-e7523a375f9b"
      unitRef="usd">-15846000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTQtNy0xLTEtNjY5MDQ_500200a0-ab40-425a-bc57-ba01ea11c4d8"
      unitRef="usd">-2164000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctMS0xLTEtNjY5MDQ_c3fd693b-b4b3-4243-8b28-863744017c28"
      unitRef="usd">-3962000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctMy0xLTEtNjY5MDQ_6a449568-ca56-42cf-97e7-8dcae5efaaaf"
      unitRef="usd">-337000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctNS0xLTEtNjY5MDQ_a24a7781-5ba6-451d-901f-350ff3d94479"
      unitRef="usd">-6073000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTctNy0xLTEtNjY5MDQ_81dd05b9-d43c-4646-83cf-6a1198887407"
      unitRef="usd">-3107000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtMS0xLTEtNjY5MDQ_a1b0f8be-e612-4dfd-a8f7-d1666f8a743e"
      unitRef="usd">-3962000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtMy0xLTEtNjY5MDQ_5a4a365f-0497-4c53-afa0-f74a2949a903"
      unitRef="usd">-337000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtNS0xLTEtNjY5MDQ_fe7c45ae-d546-403f-8426-39cfc2032271"
      unitRef="usd">-6073000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMTgtNy0xLTEtNjY5MDQ_5531df08-99e6-4cbc-8a54-56da3e79ca48"
      unitRef="usd">-3107000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtMS0xLTEtNjY5MDQ_f66dd1ef-a988-43e9-ba92-5439308de8a5"
      unitRef="usd">-6296000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtMy0xLTEtNjY5MDQ_e8a81387-ec85-49d7-b479-89af8164e841"
      unitRef="usd">-543000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtNS0xLTEtNjY5MDQ_4f098a6c-22f4-4cf5-94da-71f3f776f075"
      unitRef="usd">-21919000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjAtNy0xLTEtNjY5MDQ_ab4df6b5-e994-4239-87f4-8072b695a4cb"
      unitRef="usd">-5271000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtMS0xLTEtNjY5MDQ_42eb3aaa-40e5-40e6-8881-6c87b7b21293"
      unitRef="usd">52605000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtMy0xLTEtNjY5MDQ_473cbf40-8e26-4acd-afa0-1bd3143a637c"
      unitRef="usd">77055000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtNS0xLTEtNjY5MDQ_4a94b4b6-58d6-43de-ab88-739d8dea1d30"
      unitRef="usd">104315000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xNi9mcmFnOjA0ZDNhZGMzNTIxZTRmYmE5OGJjOGMxZTliM2Y0MzljL3RhYmxlOjRlYzQxZWFhODZlOTQwZGE4MTJkM2ViODVhZGQ0N2U5L3RhYmxlcmFuZ2U6NGVjNDFlYWE4NmU5NDBkYTgxMmQzZWI4NWFkZDQ3ZTlfMjEtNy0xLTEtNjY5MDQ_96c06a3a-819e-4cfd-8323-2dd1f68b16a9"
      unitRef="usd">142175000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNC0xLTEtMS02NjkwNA_78c73ee2-b538-42d3-8537-77cd391e059b"
      unitRef="usd">177046000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNC0zLTEtMS02NjkwNA_b6c15396-56de-4654-8b8e-a8b8cf9504ce"
      unitRef="usd">186161000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzQ0_968fbf01-165c-49a4-9a21-8b64369126ff"
      unitRef="usd">184849000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzUy_d4f30015-5c91-46b5-b918-01265a829441"
      unitRef="usd">137124000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzExOQ_3a974e37-e00d-478b-986b-80e4fb72adac"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmU4OTM0OGU5MGI1ZTRiOTY4YWY3YTRhN2QxNjMwZGYyXzExOQ_e8415209-3e72-47fd-bf3e-7ffbc051ba45"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0xLTEtMS02NjkwNA_171b1ba0-b444-419e-bdb4-93c946fcd458"
      unitRef="usd">182634000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNS0zLTEtMS02NjkwNA_e79bc90d-d929-4b1f-b7dd-c759ad7a6ca6"
      unitRef="usd">137455000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjYwZDU2NzYwMWQzYzRiNjZiNmZjNjQ1ZWE3ZWM5ZWMyXzU3_7407db97-c439-42fc-baac-770f68a39697"
      unitRef="usd">741000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjYwZDU2NzYwMWQzYzRiNjZiNmZjNjQ1ZWE3ZWM5ZWMyXzY1_3a928f4b-f8b1-4123-b1ec-760e5eb5502f"
      unitRef="usd">776000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0xLTEtMS02NjkwNA_8d0d8ee6-20cc-4d73-b10f-f36943e7804b"
      unitRef="usd">171414000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNi0zLTEtMS02NjkwNA_f3d27b8e-5ab6-4fda-a11a-0d85925b1bdd"
      unitRef="usd">130348000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNy0xLTEtMS02NjkwNA_10a944d6-a81f-4ff1-a339-fdfb8dadad58"
      unitRef="usd">2268000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNy0zLTEtMS02NjkwNA_b9cff2e1-bdfb-4c70-a111-1dfbae28f436"
      unitRef="usd">3990000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOC0xLTEtMS02NjkwNA_31aaf907-1ac7-4737-a9a1-1017fa1b8482"
      unitRef="usd">96012000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOC0zLTEtMS02NjkwNA_57b269a3-7b46-429c-bde2-2c91624d718a"
      unitRef="usd">113102000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOS0xLTEtMS02NjkwNA_62d4abb5-0dd1-4913-a26d-cc993ccac71b"
      unitRef="usd">105384000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfOS0zLTEtMS02NjkwNA_56fb7c42-8ce0-435a-9638-103e2bbda926"
      unitRef="usd">68742000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTAtMS0xLTEtNjY5MDQ_105d8d70-d317-4ca7-81c4-eb26c363c441"
      unitRef="usd">734758000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTAtMy0xLTEtNjY5MDQ_12f60622-eaf8-41fc-a0f4-cbb617940d94"
      unitRef="usd">639798000</us-gaap:AssetsCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV80OA_10e0521b-8925-4f1f-9951-2ddd61b9ce53"
      unitRef="usd">450669000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV81Ng_87ae77c5-7a74-4f09-b641-99b17d8b3eb6"
      unitRef="usd">587981000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV8xMjM_25c8517e-9890-4105-a245-32889f001d35"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjphY2ViODBhY2NhZTU0MGQ5ODE1NGUxMDkzMTU0YjM0YV8xMjM_ba47cc0a-f59b-404d-a59c-cedc1a14a7af"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent>
    <us-gaap:LongTermInvestments
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMS0xLTEtNjY5MDQ_e7f07d9b-d28a-4d5e-ba7d-22b8c550ae4c"
      unitRef="usd">428401000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTEtMy0xLTEtNjY5MDQ_0592ce10-0f86-4a70-922f-da5a42c40fb2"
      unitRef="usd">583748000</us-gaap:LongTermInvestments>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTItMS0xLTEtNjY5MDQ_6bdc9f1f-bf23-442e-b38c-c80ae7ee1d9d"
      unitRef="usd">79468000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTItMy0xLTEtNjY5MDQ_0f4a24c5-67c5-4f76-bacf-1de01702d44a"
      unitRef="usd">77546000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTMtMS0xLTEtNjY5MDQ_815fb64c-ff80-4074-9a41-282ae0f8b4fa"
      unitRef="usd">32128000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTMtMy0xLTEtNjY5MDQ_b47c5509-e537-423e-a1d9-548783dadc14"
      unitRef="usd">23157000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTQtMS0xLTEtNjY5MDQ_5d2daf18-c7ab-4713-8ba2-032664abb726"
      unitRef="usd">239798000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTQtMy0xLTEtNjY5MDQ_41d22fe7-1d97-4c43-a4dd-4c96010535e0"
      unitRef="usd">241713000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTUtMS0xLTEtNjY5MDQ_db34ebce-60ee-4642-ba95-48f799d4bc79"
      unitRef="usd">10226000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTUtMy0xLTEtNjY5MDQ_8acc04d6-dd90-4338-93ba-ab3eebea5001"
      unitRef="usd">11888000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTYtMS0xLTEtNjY5MDQ_ed5dadbe-655b-494d-a4b5-ac2060b644fb"
      unitRef="usd">411505000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTYtMy0xLTEtNjY5MDQ_61d3b730-7c6c-4e5a-9ce1-f8a53f41a59c"
      unitRef="usd">418570000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTctMS0xLTEtNjY5MDQ_f1e9990d-882e-407f-a151-0c94ab218866"
      unitRef="usd">6799000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTctMy0xLTEtNjY5MDQ_eaab30d2-96e9-445b-9e9c-78385e6d21bb"
      unitRef="usd">7242000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTgtMS0xLTEtNjY5MDQ_508a368b-909e-4ff4-b7c3-d7c07ee5ab9a"
      unitRef="usd">1943083000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMTgtMy0xLTEtNjY5MDQ_d11bdbb3-575e-430d-8744-a67062e1dd39"
      unitRef="usd">2003662000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjItMS0xLTEtNjY5MDQ_b94811c0-5f3f-4e78-a4ff-ed87fc1bf4bf"
      unitRef="usd">20364000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjItMy0xLTEtNjY5MDQ_2ed479c8-4fe5-4daa-8ae3-d176eeef64d5"
      unitRef="usd">44051000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjMtMS0xLTEtNjY5MDQ_7c750e21-0b3a-4184-b46a-c4a8e3872700"
      unitRef="usd">70051000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjMtMy0xLTEtNjY5MDQ_00a67829-208b-43b8-80ef-3fe404f99605"
      unitRef="usd">92432000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjQtMS0xLTEtNjY5MDQ_09dad721-8f04-4d5e-9a4b-6e4167fcd9de"
      unitRef="usd">18285000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjQtMy0xLTEtNjY5MDQ_67604f29-6406-4ecc-a6aa-4f9b7f6e9e9b"
      unitRef="usd">8577000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjUtMS0xLTEtNjY5MDQ_6498c51d-103e-456f-befd-073cda0bff6c"
      unitRef="usd">75385000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjUtMy0xLTEtNjY5MDQ_c9e3da9a-baa3-464b-8de1-76c22d43e52f"
      unitRef="usd">35743000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjYtMS0xLTEtNjY5MDQ_1aaeeb32-27a4-4ba8-97db-95b9ffc98c00"
      unitRef="usd">8156000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjYtMy0xLTEtNjY5MDQ_6813d3d6-456d-4368-87e8-5721e36f47ad"
      unitRef="usd">7786000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjctMS0xLTEtNjY5MDQ_344a0e92-a392-4da9-9368-826baff19e02"
      unitRef="usd">192241000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjctMy0xLTEtNjY5MDQ_8f282fa3-64c5-441a-a01c-6289abddf7ab"
      unitRef="usd">188589000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjgtMS0xLTEtNjY5MDQ_bf956a09-b0b9-4c15-b945-e3bdac248780"
      unitRef="usd">26096000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjgtMy0xLTEtNjY5MDQ_00e9eca7-e7d1-437e-aaf8-1ae3f5ab4a37"
      unitRef="usd">17795000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjktMS0xLTEtNjY5MDQ_0201e28f-1709-47b9-9920-15ebab9b0692"
      unitRef="usd">271592000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMjktMy0xLTEtNjY5MDQ_9065019e-40ff-4847-864e-9906dac19a93"
      unitRef="usd">293769000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzAtMS0xLTEtNjY5MDQ_2c13928f-64fe-48e9-8f55-c7b985d37839"
      unitRef="usd">12876000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzAtMy0xLTEtNjY5MDQ_9735567d-c61f-44d4-b239-a4b731f0ef72"
      unitRef="usd">14780000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:AccruedIncomeTaxes
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzEtMS0xLTEtNjY5MDQ_44086ff3-4cfa-4889-951f-e0a26eece3d3"
      unitRef="usd">33008000</us-gaap:AccruedIncomeTaxes>
    <us-gaap:AccruedIncomeTaxes
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzEtMy0xLTEtNjY5MDQ_25449bb4-e45e-4e73-9a80-90fa5f56bc26"
      unitRef="usd">43160000</us-gaap:AccruedIncomeTaxes>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzItMS0xLTEtNjY5MDQ_1e0e5c1e-955f-4326-9714-2bf101620afb"
      unitRef="usd">17285000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzItMy0xLTEtNjY5MDQ_d7a63e2e-e1fd-4f2d-9b1e-06aef1eeef46"
      unitRef="usd">15476000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzMtMS0xLTEtNjY5MDQ_0de0a48a-7d98-4ac1-b6e5-a117e2894adc"
      unitRef="usd">553098000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzMtMy0xLTEtNjY5MDQ_de08665b-6b87-4ae1-a465-b7970e9951f1"
      unitRef="usd">573569000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF8yMg_a8153143-bed8-4092-9a28-762714145737"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF8yMg_c62e4a2d-553c-47ca-8619-1724ab656621"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF80OQ_ace5418f-9f50-4b3a-a7be-01e1eb8d3d4a"
      unitRef="shares">400000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF80OQ_be9e4b95-e0e4-4ccf-ae07-6bb746c1f3b7"
      unitRef="shares">400000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_796c48a1-7edc-42db-9812-1a783cdb1173"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_9593082a-7626-42e4-93f2-0e3eeb2103db"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_bdd7e3e9-ddb7-4736-9ece-694813ad43ef"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo0NGI3MGVlYmQ2YmQ0OWRlYWJjNjY2MDM0ZTdmYzFkOF85MQ_f6f9169c-c5e8-46ca-a08d-de59f82dcce4"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValueOutstanding
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMS0xLTEtNjY5MDQ_a68641c4-187d-42aa-b1fd-215117cf6a8d"
      unitRef="usd">0</us-gaap:PreferredStockValueOutstanding>
    <us-gaap:PreferredStockValueOutstanding
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzctMy0xLTEtNjY5MDQ_f7536983-f742-41fc-88d2-63ac941474e0"
      unitRef="usd">0</us-gaap:PreferredStockValueOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xOQ_66ac6d17-ecaa-4be9-8ebc-8d13c4a6040d"
      unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xOQ_7ed1b021-5c2e-422f-b8a7-4826f42272b8"
      unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF80Ng_03a52405-f0ef-4a89-a463-46446479f8cd"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF80Ng_c3799bda-3876-4478-8152-6b1d6ceb15a3"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTI_aea38abe-4724-461c-a2e9-010a6c02183d"
      unitRef="shares">173397000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTI_c75c8826-4363-4140-a9cd-a819f6da5da7"
      unitRef="shares">173397000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTk_6b865c3f-ae78-42a2-8294-9c6d2c50c166"
      unitRef="shares">175481000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkYmE1ZjI0YjM0NWI0NmQwOGViZDI3YzExYjMxMGRkNF8xMTk_87f69aa2-7afb-4a49-9a37-8ced271cd50b"
      unitRef="shares">175481000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMS0xLTEtNjY5MDQ_9797598c-ea40-4646-bfc6-aa06a826e840"
      unitRef="usd">347000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzgtMy0xLTEtNjY5MDQ_a168a730-49eb-49ad-abf3-44f6ea294c14"
      unitRef="usd">351000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzktMS0xLTEtNjY5MDQ_5b22c7e7-2911-4824-bdce-4eb23339a1e5"
      unitRef="usd">947269000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfMzktMy0xLTEtNjY5MDQ_05147344-1bd4-412a-9663-f8e24a277318"
      unitRef="usd">914802000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDAtMS0xLTEtNjY5MDQ_9650b71a-f28f-496d-96c5-36bd58d4019f"
      unitRef="usd">512230000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDAtMy0xLTEtNjY5MDQ_34f285de-e0b8-4293-9865-58200bc253f2"
      unitRef="usd">562882000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDEtMS0xLTEtNjY5MDQ_91ceaba5-ffea-4313-83a3-4803b7a61fad"
      unitRef="usd">-69861000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDEtMy0xLTEtNjY5MDQ_22b36645-e311-496e-ba65-01e5cc423b7c"
      unitRef="usd">-47942000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDItMS0xLTEtNjY5MDQ_26309a19-4899-467c-b5ae-f5569ec29a59"
      unitRef="usd">1389985000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDItMy0xLTEtNjY5MDQ_a4d3af90-260f-4257-b952-b8d9e349749e"
      unitRef="usd">1430093000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDMtMS0xLTEtNjY5MDQ_053a1895-26e6-4b4e-b3c9-2330f78b909f"
      unitRef="usd">1943083000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yMi9mcmFnOmVmNjE2NDI5NDMxNTQwMWQ4M2QzZTkxOTkwYTE1ZDgzL3RhYmxlOjMzZDBhODIzMDhjNTQ3MWI5YWY0NDg2OWMyMmU3ZDhkL3RhYmxlcmFuZ2U6MzNkMGE4MjMwOGM1NDcxYjlhZjQ0ODY5YzIyZTdkOGRfNDMtMy0xLTEtNjY5MDQ_61e60b6d-1a61-43d5-8135-8b845c0161e5"
      unitRef="usd">2003662000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNC0xLTEtMS02NjkwNA_bcd1357d-349a-42b1-acdf-fa0efe71d108"
      unitRef="usd">126234000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNC0zLTEtMS02NjkwNA_9a43f50f-c44c-4beb-bccf-ea92e89f3dac"
      unitRef="usd">147446000</us-gaap:NetIncomeLoss>
    <us-gaap:StockOptionPlanExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNi0xLTEtMS02NjkwNA_22e54ecc-f6a2-4162-af37-590fa895c676"
      unitRef="usd">28053000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNi0zLTEtMS02NjkwNA_7cd2a401-80ef-4eee-a32a-59194cdfdc29"
      unitRef="usd">22739000</us-gaap:StockOptionPlanExpense>
    <us-gaap:Depreciation
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNy0xLTEtMS02NjkwNA_4935583b-a96e-411e-89e3-3a6c6fa27469"
      unitRef="usd">8114000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNy0zLTEtMS02NjkwNA_41ebe3db-f10c-4c2d-ac04-46ee5b339518"
      unitRef="usd">8510000</us-gaap:Depreciation>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOC0xLTEtMS02NjkwNA_5fe3b969-73b4-47ef-b070-fea02bf003ec"
      unitRef="usd">-12000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOC0zLTEtMS02NjkwNA_64aff3f5-65a5-4a74-a13f-66465367ddbb"
      unitRef="usd">-4000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOS0xLTEtMS02NjkwNA_0346f432-a323-4d06-a57a-110e8df35707"
      unitRef="usd">1662000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfOS0zLTEtMS02NjkwNA_0621a3d2-8d2b-49bd-ab8f-3230d201150d"
      unitRef="usd">1853000</us-gaap:AmortizationOfIntangibleAssets>
    <cgnx:ExcessAndObsoleteInventoryCharges
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTAtMS0xLTEtNjY5MDQ_5aec7a0d-acf5-4f8a-9593-538eb29986da"
      unitRef="usd">741000</cgnx:ExcessAndObsoleteInventoryCharges>
    <cgnx:ExcessAndObsoleteInventoryCharges
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTAtMy0xLTEtNjY5MDQ_0a9e2feb-dd7c-4823-8d40-9cc4d297f99a"
      unitRef="usd">1816000</cgnx:ExcessAndObsoleteInventoryCharges>
    <cgnx:NonCashLossFromCatastrophes
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMS0xLTEtNzA0MDI_5bd2fca8-e141-47bb-bc55-c620d3f329c1"
      unitRef="usd">44903000</cgnx:NonCashLossFromCatastrophes>
    <cgnx:NonCashLossFromCatastrophes
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMy0xLTEtNzA0MDg_db9f09b6-6f96-4e9a-b9a9-cf5cbb6d7ca4"
      unitRef="usd">0</cgnx:NonCashLossFromCatastrophes>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMS0xLTEtNjY5MDQ_c837bc46-3424-48c2-8689-1ad9538e18b8"
      unitRef="usd">-2714000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTEtMy0xLTEtNjY5MDQ_db076994-4822-447e-bbc2-abb7d0718f04"
      unitRef="usd">-1840000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTItMS0xLTEtNjY5MDQ_ef1cf208-beab-4894-b6fe-359426649836"
      unitRef="usd">-24000</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTItMy0xLTEtNjY5MDQ_5d3f5b07-026f-4192-9c72-ea95a1b62f75"
      unitRef="usd">68000</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTUtMS0xLTEtNjY5MDQ_00ad4cb0-2c5e-4485-83c0-b5e7a870c4ba"
      unitRef="usd">10809000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTUtMy0xLTEtNjY5MDQ_37b3afae-1a24-4fcb-9d14-47018e3e4d2b"
      unitRef="usd">-973000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTctMS0xLTEtNjY5MDQ_545403f2-0080-419a-8f9a-357c05bfe4a5"
      unitRef="usd">44118000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTctMy0xLTEtNjY5MDQ_e3d968b8-50d9-4082-9496-eb87e720e667"
      unitRef="usd">23488000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTgtMS0xLTEtNjY5MDQ_a7cd7093-4f41-4d57-953a-f45f0cbeabcc"
      unitRef="usd">1704000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTgtMy0xLTEtNjY5MDQ_1e48fade-3d93-48c1-bc77-e6f9488932ec"
      unitRef="usd">3844000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTktMS0xLTEtNjY5MDQ_54785eec-91a7-4abf-8b52-454b1875a78b"
      unitRef="usd">20122000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMTktMy0xLTEtNjY5MDQ_74139eb3-1d9e-441b-9f1b-489e9bf491c1"
      unitRef="usd">9521000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjEtMS0xLTEtNjY5MDQ_9c6b76db-58ce-4c80-9e79-3bed269a8b31"
      unitRef="usd">45752000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjEtMy0xLTEtNjY5MDQ_54376f21-aedf-45eb-bb19-922e64353f2e"
      unitRef="usd">28830000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjItMS0xLTEtNjY5MDQ_7211a587-c5d2-4691-a1bc-dfa8c401924f"
      unitRef="usd">-23525000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjItMy0xLTEtNjY5MDQ_2a860e40-933d-44dc-95a5-ee7357055adf"
      unitRef="usd">16058000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjMtMS0xLTEtNjY5MDQ_17855428-d512-49bc-b894-359f4daf3c21"
      unitRef="usd">-20024000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjMtMy0xLTEtNjY5MDQ_65e2d59a-6a36-41b4-af14-78967033c588"
      unitRef="usd">206000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjQtMS0xLTEtNjY5MDQ_18dac1b5-1f91-4203-94ee-42e53909fb5b"
      unitRef="usd">-372000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjQtMy0xLTEtNjY5MDQ_4931a3ad-733f-447c-9ce1-fb8dac86b25b"
      unitRef="usd">-5588000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjUtMS0xLTEtNjY5MDQ_4a3e71af-73db-45b0-87fc-dcbc3e2f638b"
      unitRef="usd">41535000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjUtMy0xLTEtNjY5MDQ_e0a8ee0a-e8e1-4964-8f9d-552f77392f7b"
      unitRef="usd">55220000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjYtMS0xLTEtNjY5MDQ_159a11e5-4b53-4980-90b2-9a64d48ead98"
      unitRef="usd">-2655000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjYtMy0xLTEtNjY5MDQ_36eef165-be5e-41aa-a782-b39512471bc6"
      unitRef="usd">-1711000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjctMS0xLTEtNjY5MDQ_55126e0e-3abc-4ed6-a91b-f0fb379dbcf0"
      unitRef="usd">93629000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjctMy0xLTEtNjY5MDQ_4c85a987-2b47-40dc-b0c1-75569c92ebec"
      unitRef="usd">194725000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjktMS0xLTEtNjY5MDQ_ee69d8eb-1cd9-477c-b021-5daf87c9a060"
      unitRef="usd">77760000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMjktMy0xLTEtNjY5MDQ_b681b646-593d-4b17-ad7a-7d9108d2783a"
      unitRef="usd">511625000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzAtMS0xLTEtNjY5MDQ_328e6a14-f75c-4419-b0df-f937a284c66c"
      unitRef="usd">164610000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzAtMy0xLTEtNjY5MDQ_33c6081a-9093-416c-9e8b-1400acd5e9af"
      unitRef="usd">270696000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzEtMS0xLTEtNjY5MDQ_110ece99-32fc-45ae-985a-8b8e59d48409"
      unitRef="usd">11253000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzEtMy0xLTEtNjY5MDQ_48047471-b27d-4103-9e95-b9b1f372d772"
      unitRef="usd">6550000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzUtMS0xLTEtNjY5MDQ_028a8e14-d223-45f7-81ef-7f4849f8a60b"
      unitRef="usd">75597000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzUtMy0xLTEtNjY5MDQ_241284c9-a362-43fd-aa69-6751eea86910"
      unitRef="usd">-247479000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzctMS0xLTEtNjY5MDQ_477e0325-892e-40ea-9abc-a2cc89e63bc4"
      unitRef="usd">4414000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzctMy0xLTEtNjY5MDQ_64fdd681-812f-41da-a80d-a359a2256174"
      unitRef="usd">44407000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzgtMS0xLTEtNjY5MDQ_837788fe-c88a-4d76-9640-201e0481b422"
      unitRef="usd">154317000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzgtMy0xLTEtNjY5MDQ_37dd99e2-b2d9-4bf7-813e-825924bf7bd4"
      unitRef="usd">20877000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzktMS0xLTEtNjY5MDQ_6f322b73-f1a1-4981-a6b6-8e2f0c154b55"
      unitRef="usd">22573000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfMzktMy0xLTEtNjY5MDQ_563560c6-8796-49cc-ad13-6e612a18107e"
      unitRef="usd">21192000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDEtMS0xLTEtNjY5MDQ_22c6e65e-00b0-406e-9d2c-996a4ae36125"
      unitRef="usd">-172476000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDEtMy0xLTEtNjY5MDQ_44aea6d4-3263-473d-ac73-62a44a81cf2a"
      unitRef="usd">2338000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDItMS0xLTEtNjY5MDQ_3e20f275-c6fa-4ff7-a9db-3ad36b0f93dc"
      unitRef="usd">-5865000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDItMy0xLTEtNjY5MDQ_b5a0e42a-3bb9-44d8-842f-cccbfffe083f"
      unitRef="usd">-1620000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDMtMS0xLTEtNjY5MDQ_65260a4e-ee25-4d1a-8f83-df60680f70d4"
      unitRef="usd">-9115000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDMtMy0xLTEtNjY5MDQ_2263b772-b469-4651-8fec-e519cfbc5d86"
      unitRef="usd">-52036000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDQtMS0xLTEtNjY5MDQ_508def9d-3ed4-4148-9fec-c064a9fdfb0c"
      unitRef="usd">186161000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5c51190f418d4624a1ced49cafff6754_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDQtMy0xLTEtNjY5MDQ_5db3ee48-db6c-484b-b2b3-bd43c4546945"
      unitRef="usd">269073000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDUtMS0xLTEtNjY5MDQ_72273083-86fe-4b31-93d4-a03233cd033b"
      unitRef="usd">177046000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i987af0567ae743cca6c3024e14eb819b_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8yOC9mcmFnOmJiYjFiZjlhZjNmNjRlNzU4N2NhYTQwNDY5MDIxNGVmL3RhYmxlOmQ5NjE4N2E3NzM0MTRhNDNhN2E1ZGY5OTMxMzUyNTdkL3RhYmxlcmFuZ2U6ZDk2MTg3YTc3MzQxNGE0M2E3YTVkZjk5MzEzNTI1N2RfNDUtMy0xLTEtNjY5MDQ_4aee8322-70f1-4500-b2c6-0117c8214646"
      unitRef="usd">217037000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CommonStockSharesIssued
      contextRef="i32c95cd61a0d4856bdd854de3e2841ca_I20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi0xLTEtMS02NjkwNA_611ab58f-4259-4be3-ae8e-0dc15d5cb3b4"
      unitRef="shares">173738000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i32c95cd61a0d4856bdd854de3e2841ca_I20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi0zLTEtMS02NjkwNA_713bd1c4-e8f1-46c7-98fe-8a579f7be537"
      unitRef="usd">347000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8ea09e451f442428698bdda60de1f63_I20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi01LTEtMS02NjkwNA_3e1dca9c-575c-4710-b1e3-1c046489c2dd"
      unitRef="usd">933452000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i88fa227af48e41399ad43596248d1f1d_I20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi03LTEtMS02NjkwNA_a4e00d76-169d-4a23-b435-4c6752680ea4"
      unitRef="usd">488511000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic7de6eae4aa146cf97b1a520164bcd39_I20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi05LTEtMS02NjkwNA_9ec99815-9908-4fa5-adef-812661e02eff"
      unitRef="usd">-63565000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i739e123723424159b09a3135b61420a3_I20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMi0xMS0xLTEtNjY5MDQ_b0c451ed-6e90-4605-9084-20f339c8382f"
      unitRef="usd">1358745000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy0xLTEtMS02NjkwNA_90f84a8a-74b2-44e9-bc27-08d96563a896"
      unitRef="shares">47000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy0zLTEtMS02NjkwNA_88ee342b-4041-44b5-a743-f2fe80abd9cf"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i729bb94dfa1f44948ab9ff09a58d086c_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy01LTEtMS02NjkwNA_67b67e70-8c15-4361-88e0-54d995aa5ba3"
      unitRef="usd">820000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMy0xMS0xLTEtNjY5MDQ_68cb9409-6ab7-4f05-8689-f092f7984544"
      unitRef="usd">820000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC0xLTEtMS02NjkwNA_4fc9fbba-8ee6-4151-9281-f559d1b9afb2"
      unitRef="shares">388000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i7a8e4cd0c685408ba0725eb016323f70_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC0zLTEtMS02NjkwNA_1f312a86-bbed-4cd2-ae18-2c60afb99923"
      unitRef="usd">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC03LTEtMS02NjkwNA_e2b3f568-fc42-45a2-ac8c-b10c9d888377"
      unitRef="usd">23912000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNC0xMS0xLTEtNjY5MDQ_f69a9b28-010a-4cfd-9361-3bc1ece42780"
      unitRef="usd">23912000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i729bb94dfa1f44948ab9ff09a58d086c_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNS01LTEtMS02NjkwNA_83962081-cc7a-4593-a92e-55dc82f2fd6b"
      unitRef="usd">12997000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNS0xMS0xLTEtNjY5MDQ_8bfa949b-ed8c-4427-b6e3-ccdb575f6ff1"
      unitRef="usd">12997000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmVhMjIxZDA5ZmFmMTRiZjY4Y2U3YTZkYjg0OWNkMTBkXzI3_798f1ed4-f8da-46ec-9f78-eebfd6b86fe9"
      unitRef="usdPerShare">0.065</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCash
      contextRef="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNi03LTEtMS02NjkwNA_805e6c8f-1159-4681-be61-b8f2aa288c4d"
      unitRef="usd">11270000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNi0xMS0xLTEtNjY5MDQ_110561b2-d92a-4522-b79b-771bed2b59b1"
      unitRef="usd">11270000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="i03a3bef187c34bc786d861d68d1a89c3_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNy03LTEtMS02NjkwNA_5f3c4dfb-533c-4ff1-a7f0-6779e41164bf"
      unitRef="usd">58901000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfNy0xMS0xLTEtNjY5MDQ_9a15f4f3-08a0-478c-92b5-3dc48b1372be"
      unitRef="usd">58901000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTAtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjo3N2IxMjNjZmVjMjM0NjQyYWRiY2E5ZjRhNGU5MzYzZF84MA_af3f2851-7c1d-4668-9b3e-49d3a541d3f8"
      unitRef="usd">-698000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTAtOS0xLTEtNjY5MDQ_20348bb2-9b6e-4dd1-bc19-88c88df68502"
      unitRef="usd">-2322000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTAtMTEtMS0xLTY2OTA0_b31ee235-48c4-49c0-afcf-051207fc4d4e"
      unitRef="usd">-2322000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTItOS0xLTEtNjY5MDQ_91487176-2bcc-4ade-ac73-e69ea354f6f4"
      unitRef="usd">12000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTItMTEtMS0xLTY2OTA0_80d2db52-aa45-4621-a79e-2e47bf920949"
      unitRef="usd">12000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i3879614ed94341d9a64a0ba8ac4f2fda_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTMtOS0xLTEtNjY5MDQ_a9e47fea-dbf9-4e2f-9927-b97d5cfeecf4"
      unitRef="usd">-3962000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTMtMTEtMS0xLTY2OTA0_ed99bee6-e8f6-4f39-9729-0405a7f5cfc3"
      unitRef="usd">-3962000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtMS0xLTEtNjY5MDQ_ababb311-d5b4-4a7b-a374-a8f92d1defab"
      unitRef="shares">173397000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtMy0xLTEtNjY5MDQ_67dcab9d-40f7-4032-866f-394897b9b46c"
      unitRef="usd">347000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i51449fbdc5674ff2849fb7e1008e0725_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtNS0xLTEtNjY5MDQ_a887c960-1e0e-422f-bda3-66418a41a1d6"
      unitRef="usd">947269000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia063d6ebf39046338805f902de09ece7_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtNy0xLTEtNjY5MDQ_6c0aae3e-5dc6-4def-9635-4aa256e18afd"
      unitRef="usd">512230000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id921fb2e59bf4a56a4ac20326a5d1b67_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtOS0xLTEtNjY5MDQ_3a4fc1a9-e8d5-4781-ba14-8aa5be99e9a7"
      unitRef="usd">-69861000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjQwZDY4MzMzNzgxMjRiMTZiZGU0OWIxYzRhYjg5NTVhL3RhYmxlcmFuZ2U6NDBkNjgzMzM3ODEyNGIxNmJkZTQ5YjFjNGFiODk1NWFfMTQtMTEtMS0xLTY2OTA0_f3162767-50d0-4303-b639-b89b01ac80a8"
      unitRef="usd">1389985000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="i518b4487112b4961b7947ef3908a67b3_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi0xLTEtMS02NjkwNA_fbdf2f74-761b-4c73-b88d-70e980738bf1"
      unitRef="shares">176608000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i518b4487112b4961b7947ef3908a67b3_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi0zLTEtMS02NjkwNA_08681e10-bca1-4dd2-9c7c-0a46b1886640"
      unitRef="usd">353000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5ace0e76e3f948ff891a65aa0da45a61_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi01LTEtMS02NjkwNA_b4cda562-8009-4f05-bdaf-af0a23c547be"
      unitRef="usd">854491000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i83a98c21a59842379e15b3f946a2e1a6_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi03LTEtMS02NjkwNA_924a52a5-b865-465d-a82f-2316c65b627b"
      unitRef="usd">540686000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id29b49dd1d86487bba49667b83a6b115_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi05LTEtMS02NjkwNA_9aff84eb-c76e-4ebb-9741-5012553a8ecc"
      unitRef="usd">-38529000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i63b6b28dd0af4a31bd162a966a337480_I20210404"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMi0xMS0xLTEtNjY5MDQ_ed442fc6-d516-48d7-8e47-d076935e8d53"
      unitRef="usd">1357001000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy0xLTEtMS02NjkwNA_b1bde3c1-932d-4258-a1e6-892dc60e9b45"
      unitRef="shares">277000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy0zLTEtMS02NjkwNA_61e6040a-42e8-406a-a431-05e95877d76c"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="if8e3797e3b8d49f6a9e6801f7f9b21b5_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy01LTEtMS02NjkwNA_b38e840e-71ce-42a1-9d8b-6582ef71fbbc"
      unitRef="usd">9662000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMy0xMS0xLTEtNjY5MDQ_7591f0a4-044d-4e74-a395-dcfae629773c"
      unitRef="usd">9663000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC0xLTEtMS02NjkwNA_98a7683e-3c5c-43eb-a4da-40424dc87950"
      unitRef="shares">178000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i85b8ec7695184e329b75c202a7105f40_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC0zLTEtMS02NjkwNA_8bb489be-bf47-420c-8197-6089ccbda57e"
      unitRef="usd">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC03LTEtMS02NjkwNA_ea740bfe-0263-4387-be5c-22532f8c92e5"
      unitRef="usd">14397000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNC0xMS0xLTEtNjY5MDQ_fa896069-1cfd-4f15-ac88-757fefd2b6d5"
      unitRef="usd">14398000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="if8e3797e3b8d49f6a9e6801f7f9b21b5_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNS01LTEtMS02NjkwNA_d83e4aa5-b32a-4348-be2a-8d78302e4515"
      unitRef="usd">10730000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNS0xMS0xLTEtNjY5MDQ_4411b3f2-c980-49b6-b7d1-460b1446d8d4"
      unitRef="usd">10730000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjE0M2NiNTM3N2UwZTQ4ZWY4OTdlMDY2NzBiOWI2ZjdiXzI3_8bb7600e-8866-4eb7-89e3-d679b3878173"
      unitRef="usdPerShare">0.060</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCash
      contextRef="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNi03LTEtMS02NjkwNA_00a1d1e9-13df-4ee0-be49-940dede84ba3"
      unitRef="usd">10597000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNi0xMS0xLTEtNjY5MDQ_288110cd-37a4-426c-9e0f-7604ddaf1752"
      unitRef="usd">10597000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="i01e5f1768b3544e28384860629c2fcb1_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNy03LTEtMS02NjkwNA_6ce5f887-f052-4e9c-ac2b-f59d0bd9c817"
      unitRef="usd">77598000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfNy0xMS0xLTEtNjY5MDQ_d7cefbb5-849f-48b5-af0b-1c678c0877aa"
      unitRef="usd">77598000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfOC0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOmMxYzMyNDkxNTRkYzQ3OTJhYTA0Y2M1MzU5MDg0NWM0Xzgw_6f3b7b4d-4540-4ed9-a17f-b58977f2b8b0"
      unitRef="usd">-61000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfOC05LTEtMS02NjkwNA_912be9f9-5376-4ff6-9f6e-a41c5c9cdffb"
      unitRef="usd">-138000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfOC0xMS0xLTEtNjY5MDQ_529932cc-b1f5-41ba-838c-274cc5c9c68e"
      unitRef="usd">-138000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTAtOS0xLTEtNjY5MDQ_fdd0febd-c16c-41d9-9e70-2214cad17521"
      unitRef="usd">68000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTAtMTEtMS0xLTY2OTA0_cb33793e-c0a5-41c3-b386-e56664417733"
      unitRef="usd">68000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ib5a2f5b6fb954b99b2598de856ebcffb_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTEtOS0xLTEtNjY5MDQ_328a5d61-04d1-4b29-8768-846ac46f1135"
      unitRef="usd">-337000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTEtMTEtMS0xLTY2OTA0_e30acdfd-e94e-4649-92fa-bf30ababf8e1"
      unitRef="usd">-337000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib4947ca801e140829772591d5172fdc4_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItMS0xLTEtNjY5MDQ_17d1feb8-5f2f-4fde-86e7-b6cd95656a20"
      unitRef="shares">176707000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ib4947ca801e140829772591d5172fdc4_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItMy0xLTEtNjY5MDQ_817b8274-88fd-425e-bcf6-01d2277be8ed"
      unitRef="usd">353000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i00d322987b81436693ab321e89e4326c_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItNS0xLTEtNjY5MDQ_b85c8441-8eb9-451d-8ee9-c50f9b592511"
      unitRef="usd">874883000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id5cba2ed375146ad91d7307545b63c80_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItNy0xLTEtNjY5MDQ_41078fe3-7d9c-413f-b189-121ab0d9d674"
      unitRef="usd">593290000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0bc15bc08fc145b2a6b4cfb556ab1824_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItOS0xLTEtNjY5MDQ_f2fa58ea-7b7e-44f6-ac52-601ee6aff424"
      unitRef="usd">-39072000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i987af0567ae743cca6c3024e14eb819b_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmM1YTg0MjczMjc3ZDQzYTc5YTFiMjcwMjAyMzEyNmUwL3RhYmxlcmFuZ2U6YzVhODQyNzMyNzdkNDNhNzlhMWIyNzAyMDIzMTI2ZTBfMTItMTEtMS0xLTY2OTA0_b8625557-6187-418b-8fa2-d7d05414ae4b"
      unitRef="usd">1429454000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="ife8ea1ce918d44c09f1ac4b4b89490ba_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi0xLTEtMS02NjkwNA_291beac8-a584-4cdf-a65e-118d6267a60a"
      unitRef="shares">175481000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ife8ea1ce918d44c09f1ac4b4b89490ba_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi0zLTEtMS02NjkwNA_1459d49b-4686-48d1-a69c-f237544e9ef5"
      unitRef="usd">351000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i425d0838bc894e67bebedc750c61ad9c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi01LTEtMS02NjkwNA_9c51d4a7-579f-4cfd-98a0-86a7d1bff5c2"
      unitRef="usd">914802000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3de2b9b179b34515967701a54e4d1bb8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi03LTEtMS02NjkwNA_bcfcb2ba-128a-4725-a0e0-df61b8d7af06"
      unitRef="usd">562882000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie1b60b328835444ba7edf4132f25d071_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi05LTEtMS02NjkwNA_af894d41-e6e9-45d5-9c0c-094ac8c5cf63"
      unitRef="usd">-47942000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMi0xMS0xLTEtNjY5MDQ_5d7dba2d-b247-4a28-a334-25d1738c2f30"
      unitRef="usd">1430093000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy0xLTEtMS02NjkwNA_674f4bae-88c9-4db2-a242-2844e485cf82"
      unitRef="shares">183000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy0zLTEtMS02NjkwNA_9b853ea3-40e1-40fe-b8d6-1388c2df9784"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="id3bf99c177844901b393b16edd9d925e_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy01LTEtMS02NjkwNA_045c80f3-13a1-414f-83a7-a960d6835431"
      unitRef="usd">4414000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMy0xMS0xLTEtNjY5MDQ_d407e0b4-e588-4016-af8e-ee43765735cb"
      unitRef="usd">4414000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC0xLTEtMS02NjkwNA_e27e2662-78e7-4e64-89f6-8015269317c6"
      unitRef="shares">2267000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i8f53cb2e9c41450db1d1fcd0ca2443e6_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC0zLTEtMS02NjkwNA_a395fa46-9df0-4925-9bdc-5b614b5c27e3"
      unitRef="usd">4000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC03LTEtMS02NjkwNA_3ee21515-ffae-4a00-a5d4-c7d1e430def1"
      unitRef="usd">154313000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNC0xMS0xLTEtNjY5MDQ_edaecb1e-2016-4e3b-a2ec-c1202ac0149d"
      unitRef="usd">154317000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id3bf99c177844901b393b16edd9d925e_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNS01LTEtMS02NjkwNA_66fba8b0-2f64-45b7-bf1d-079053965041"
      unitRef="usd">28053000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNS0xMS0xLTEtNjY5MDQ_9e85131b-09f8-4e3f-b0de-2a7417934f44"
      unitRef="usd">28053000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjYwODcwMDc5ZDFhNjQxMDY4ZDU0YTUxOGNmMTQxZjNmXzI3_4cac4fcd-ee62-4fbc-88ec-6b3b8483eda8"
      unitRef="usdPerShare">0.130</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCash
      contextRef="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNi03LTEtMS02NjkwNA_fbf00cc6-e008-4003-8500-052522672bf8"
      unitRef="usd">22573000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNi0xMS0xLTEtNjY5MDQ_494cbbf3-f5f1-4a8d-b4a8-880eae54a249"
      unitRef="usd">22573000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="id28f178abc9b4a688f97a7b8b0d05e12_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNy03LTEtMS02NjkwNA_e1a6d313-08e4-4cec-b595-0eaaeef8d59a"
      unitRef="usd">126234000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfNy0xMS0xLTEtNjY5MDQ_f8eae8cc-020e-4713-b070-5e6a06c93da6"
      unitRef="usd">126234000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTAtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjpkNmFiOTMwOTAzNDk0Mjg4YWI5YTY2NDdiMWMwNDcwZl84MA_7fabd5ed-f91a-4f49-a300-98fb164f5530"
      unitRef="usd">-4734000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTAtOS0xLTEtNjY5MDQ_e981d4d4-6082-4d9a-bd78-8a694058f938"
      unitRef="usd">-15870000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTAtMTEtMS0xLTY2OTA0_ebc83bb9-8b4c-4db1-a2f8-2a3450217175"
      unitRef="usd">-15870000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTItOS0xLTEtNjY5MDQ_443bb0df-21d5-4b38-b6c8-410d2b7976eb"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTItMTEtMS0xLTY2OTA0_708e8643-7748-4f78-af91-3b4efaf62e12"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i66559a94ea78464cadd10f5881acbd6d_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTMtOS0xLTEtNjY5MDQ_c9e5a794-e3a1-4f69-b1f3-00560e4af695"
      unitRef="usd">-6073000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTMtMTEtMS0xLTY2OTA0_f0ad02c1-93be-4c70-8358-efddda8a0ee4"
      unitRef="usd">-6073000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtMS0xLTEtNjY5MDQ_5e1dbb21-da2d-4dcd-915d-397d20689412"
      unitRef="shares">173397000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i3f63dadcfebf4547bc8ce410833b853a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtMy0xLTEtNjY5MDQ_d157be47-2f9f-4c59-8248-4ba45189729d"
      unitRef="usd">347000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i51449fbdc5674ff2849fb7e1008e0725_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtNS0xLTEtNjY5MDQ_f26302b9-33be-4154-9a34-19dba9388dd8"
      unitRef="usd">947269000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia063d6ebf39046338805f902de09ece7_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtNy0xLTEtNjY5MDQ_cdcb538d-7586-48af-8f01-92cdd3840af8"
      unitRef="usd">512230000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id921fb2e59bf4a56a4ac20326a5d1b67_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtOS0xLTEtNjY5MDQ_741c4b29-d1b9-4055-9e6f-f9d61398c427"
      unitRef="usd">-69861000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOjRlODY3OGZlOGY1ZDQ5ZTU5MWNlNDI3ODVkMTI5NGUwL3RhYmxlcmFuZ2U6NGU4Njc4ZmU4ZjVkNDllNTkxY2U0Mjc4NWQxMjk0ZTBfMTQtMTEtMS0xLTY2OTA0_352915ef-57d4-4905-adf9-71aea446ff04"
      unitRef="usd">1389985000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="i948e0aec57804f7ca76f62c5c0504c65_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi0xLTEtMS02NjkwNA_4196e33c-b341-4dd1-81e8-bdc6e953a611"
      unitRef="shares">175790000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i948e0aec57804f7ca76f62c5c0504c65_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi0zLTEtMS02NjkwNA_15d9583b-a603-490d-9ca7-9ee37dbeeb41"
      unitRef="usd">352000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifb86921fa79b45458d499304d03ce1dc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi01LTEtMS02NjkwNA_fea44a7b-dabb-4d58-9471-0950f7631e6a"
      unitRef="usd">807739000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i876a2cc96328468bb85cd46eb074fd08_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi03LTEtMS02NjkwNA_5c16bf9a-e8e4-42e2-b093-4ce04984e74f"
      unitRef="usd">487912000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i33abd1cff3a34debb7905724afbe1d51_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi05LTEtMS02NjkwNA_deac8024-382b-4e5e-ab67-b8def41b7297"
      unitRef="usd">-33801000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5c51190f418d4624a1ced49cafff6754_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMi0xMS0xLTEtNjY5MDQ_7c0254f8-2d1c-44f3-9cdb-206a7576c361"
      unitRef="usd">1262202000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy0xLTEtMS02NjkwNA_991a8e45-a0ac-4191-af4d-66a0adb86c12"
      unitRef="shares">1175000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy0zLTEtMS02NjkwNA_f32206a2-88cb-4239-8523-5d6704762dfa"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ieacc184623134bd7b7d06618f6706333_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy01LTEtMS02NjkwNA_307c1b02-39a1-405b-bafd-7f5454e7f9f8"
      unitRef="usd">44405000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMy0xMS0xLTEtNjY5MDQ_50999b28-47a7-4f91-94f2-c6fd0743b111"
      unitRef="usd">44407000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC0xLTEtMS02NjkwNA_24c1441a-f93e-4357-bace-f41fde99b632"
      unitRef="shares">258000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i3cc2ed9623d74fea8dba139b4393042a_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC0zLTEtMS02NjkwNA_ff7eaf1a-39cb-4abd-8bfe-4fad52c52ede"
      unitRef="usd">1000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC03LTEtMS02NjkwNA_36b08364-6635-4bc9-b15e-e5dccdcbe149"
      unitRef="usd">20876000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNC0xMS0xLTEtNjY5MDQ_306c048a-1943-4f5e-9fab-44240076ff2a"
      unitRef="usd">20877000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ieacc184623134bd7b7d06618f6706333_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNS01LTEtMS02NjkwNA_1bc6e30d-0a67-4b20-991a-89ac535d0384"
      unitRef="usd">22739000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNS0xMS0xLTEtNjY5MDQ_8c43c356-7660-4659-bb7e-72018ca47a61"
      unitRef="usd">22739000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNi0wLTEtMS02NjkwNC90ZXh0cmVnaW9uOjkxNDA3Mzk1N2UzNjQ4NzJhNTBkNmMxMzY1OGFmZDgyXzI3_cf6ad501-0a9a-4398-9db0-20922ead25f0"
      unitRef="usdPerShare">0.120</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCash
      contextRef="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNi03LTEtMS02NjkwNA_39ab83ae-8dde-4ff6-9bb5-c8bfbe5e22f8"
      unitRef="usd">21192000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNi0xMS0xLTEtNjY5MDQ_82d884f0-df50-42de-a368-2db3495a49fb"
      unitRef="usd">21192000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="i56a7ded33acf4c0893679349023a5ee8_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNy03LTEtMS02NjkwNA_b2d56acc-fcf9-4bc7-972c-759d7b3166b8"
      unitRef="usd">147446000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfNy0xMS0xLTEtNjY5MDQ_2d3bbda6-462d-4ae0-b688-7394a73d089a"
      unitRef="usd">147446000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTAtMC0xLTEtNjY5MDQvdGV4dHJlZ2lvbjoyNTAyYTVlZGE0OGE0MDFmOWVjMjM2MGRiZDIzODJlNl84MA_1cf9331c-7c08-4883-9381-904ca4beb51f"
      unitRef="usd">-646000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTAtOS0xLTEtNjY5MDQ_3c56ceeb-a60c-4b06-9f4f-1d83b87f3402"
      unitRef="usd">-2096000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTAtMTEtMS0xLTY2OTA0_de2d1dce-d3df-4939-8866-f1412eb4fbee"
      unitRef="usd">-2096000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTItOS0xLTEtNjY5MDQ_60dd2b3c-3fca-44d3-8061-bf80b73efe51"
      unitRef="usd">68000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTItMTEtMS0xLTY2OTA0_cc35cce7-3f04-4229-b4d4-81bd8bbaf5a6"
      unitRef="usd">68000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i5755a73ed41a4e7a9f6b02bc5f3f2db4_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTMtOS0xLTEtNjY5MDQ_6819c142-918c-4071-8c9a-59a60b904ccf"
      unitRef="usd">-3107000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTMtMTEtMS0xLTY2OTA0_d03176cd-c989-4110-8001-00453b9531f5"
      unitRef="usd">-3107000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib4947ca801e140829772591d5172fdc4_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtMS0xLTEtNjY5MDQ_455f8de6-447a-44fd-8e35-1dd8e0ab350d"
      unitRef="shares">176707000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ib4947ca801e140829772591d5172fdc4_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtMy0xLTEtNjY5MDQ_11a9fce7-258f-4b75-adcc-dbc86249ae16"
      unitRef="usd">353000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i00d322987b81436693ab321e89e4326c_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtNS0xLTEtNjY5MDQ_bf5a3664-1022-4a3f-a135-f84016e0a837"
      unitRef="usd">874883000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id5cba2ed375146ad91d7307545b63c80_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtNy0xLTEtNjY5MDQ_d02efd0c-f1cb-40b2-9a88-8770ed497cc7"
      unitRef="usd">593290000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0bc15bc08fc145b2a6b4cfb556ab1824_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtOS0xLTEtNjY5MDQ_1c5bae9b-226f-4c86-8cc6-426cdd8e4776"
      unitRef="usd">-39072000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i987af0567ae743cca6c3024e14eb819b_I20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8zMS9mcmFnOjAzZGM4ZTA0ZjJhOTRjYmViMzIxOThiNjg3MmRiYTk1L3RhYmxlOmJiMTEyZjY3YTI2NDRkM2ViMDdjZDk5MDA0NWYzYWUzL3RhYmxlcmFuZ2U6YmIxMTJmNjdhMjY0NGQzZWIwN2NkOTkwMDQ1ZjNhZTNfMTQtMTEtMS0xLTY2OTA0_96b9fd1f-f142-4066-b977-fb2039565a6a"
      unitRef="usd">1429454000</us-gaap:StockholdersEquity>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80MC9mcmFnOjdlODQyOTgyZGU4YTRhZDE5ZWY0NWM4NzBkMzY4NTEyL3RleHRyZWdpb246N2U4NDI5ODJkZThhNGFkMTllZjQ1Yzg3MGQzNjg1MTJfMTIxMg_e92bbe5a-4940-45f8-886f-26a14ae39b61">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, 2021 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, adjustments related to the loss from fire (Note 17), and financial statement reclassifications necessary to present fairly the Company&#x2019;s financial position as of July&#160;3, 2022, and the results of its operations for the three-month and six-month periods ended July&#160;3, 2022 and July&#160;4, 2021, 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 and six-month periods ended July&#160;3, 2022 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:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80My9mcmFnOmMzZDg5YWRkNmM0NDRlZDc5ZDNhZTM0MTA2ZDY0OTIzL3RleHRyZWdpb246YzNkODlhZGQ2YzQ0NGVkNzlkM2FlMzQxMDZkNjQ5MjNfMjU1NQ_cd570a10-1c2f-44df-bede-4d796c4311ac">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) 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;&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) 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers"&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 primarily address the accounting for contract assets and contract liabilities related to revenue contracts with customers in a business combination. The ASU clarifies that an acquirer should account for the related revenue contracts in accordance with Accounting Standards Codification 606 as if the acquirer had originated the contracts. The amendments in this ASU are effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, although early adoption is permitted. The amendments in the ASU should be applied prospectively to business combinations occurring on or after the effective date of the amendments. The expected financial statement impact of this new accounting standard cannot be reasonably estimated at this time, as the impact in future periods will depend on the contract assets and contract liabilities acquired in future business combinations. Management does not expect this ASU to have a material impact on the Company's disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80My9mcmFnOmMzZDg5YWRkNmM0NDRlZDc5ZDNhZTM0MTA2ZDY0OTIzL3RleHRyZWdpb246YzNkODlhZGQ2YzQ0NGVkNzlkM2FlMzQxMDZkNjQ5MjNfMjU2MQ_a8a8b091-d4f5-40c5-80e4-91c252a0250f">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) 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;&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) 2021-08, "Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers"&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 primarily address the accounting for contract assets and contract liabilities related to revenue contracts with customers in a business combination. The ASU clarifies that an acquirer should account for the related revenue contracts in accordance with Accounting Standards Codification 606 as if the acquirer had originated the contracts. The amendments in this ASU are effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, although early adoption is permitted. The amendments in the ASU should be applied prospectively to business combinations occurring on or after the effective date of the amendments. The expected financial statement impact of this new accounting standard cannot be reasonably estimated at this time, as the impact in future periods will depend on the contract assets and contract liabilities acquired in future business combinations. Management does not expect this ASU to have a material impact on the Company's disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMjI2OQ_8e8c693f-115b-4886-8aff-046ed9381f42">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 July&#160;3, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width: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;3,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;495,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;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;&#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;70,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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,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;&#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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;Municipal bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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="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;Economic hedge forward contracts&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;46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 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:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;/table&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 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: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 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. The balance remained at zero through the remainder of the five-year assessment period which concluded during the six-month period ended July&#160;3, 2022.&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%;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: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;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 did not record impairment charges related to non-financial assets during the three-month or six-month periods ended July&#160;3, 2022 or July&#160;4, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMjI3MA_dc5958a8-df49-4b23-853f-1884cd79e4b4">&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 July&#160;3, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width: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;3,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;495,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;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;&#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;70,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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,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;&#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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;Municipal bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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="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;Economic hedge forward contracts&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;46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 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:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMi0xLTEtMS02NjkwNA_cdffb168-2ded-4b08-a659-679e1b184bba"
      unitRef="usd">3149000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i3a16d4b0e1b0474cad19d38781816a46_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMi0zLTEtMS02NjkwNA_5c0ef43c-f3dc-433f-b762-7f199e47268c"
      unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMi01LTEtMS02NjkwNA_7f2dbb9e-7103-42aa-afb8-edf3b2334ab2"
      unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0360ee575d9e4e86a0f47ae967c21213_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMy0xLTEtMS02NjkwNA_a4830f9a-df2b-48e6-a1d1-e7b6f1d365dd"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if757f38f5bdd4c939d049d87a95ac59c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMy0zLTEtMS02NjkwNA_e871756d-dc0f-4208-a05d-fa4253962472"
      unitRef="usd">495188000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic4ea99863df44db7aea0439c7419ae6f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMy01LTEtMS02NjkwNA_af613ff2-d039-48b4-b3a1-d58984a1e016"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id81ee529a1314ca3934d96b838a5ea94_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNC0xLTEtMS02NjkwNA_041d7475-a875-4e39-9bc7-c300eeb48e92"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie008d184b61246e58c1233ccc0c7b409_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNC0zLTEtMS02NjkwNA_ad8e9597-b0fd-43b9-ab8d-b1a68cdb739e"
      unitRef="usd">70163000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i77f4cad60bfb4a29b34b64cb4a574ae6_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNC01LTEtMS02NjkwNA_eec3135c-702e-411f-bee8-47a4e883398e"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8ed35f25c979426da39ab75c7c9b65ac_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNS0xLTEtMS02NjkwNA_9f0044e3-1b90-49d0-9cf5-731592ff6c03"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i89f526d469034bf092990480cd44610b_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNS0zLTEtMS02NjkwNA_66ea633b-3402-4926-9fef-296a049c5da4"
      unitRef="usd">25030000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i03287ddc4b1e4a2d9a1b4b116aed7bd1_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNS01LTEtMS02NjkwNA_f56390fb-a83a-4dbf-a571-ad6f4e267489"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i14f7ade48dd54ff9ab5002d2356dfaa1_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNy0xLTEtMS02NjkwNA_fca76e39-d23e-4381-995d-473028c5e6b1"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic35b7db1aa71474aaacaf2aac2fbe17a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNy0zLTEtMS02NjkwNA_fe9f0a9b-26d7-4827-86e3-33cd4bf58c41"
      unitRef="usd">18578000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i92f7d65fd1294f6684660a2833f6f67a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfNy01LTEtMS02NjkwNA_cab15cee-cf7c-44cc-b970-1931150b4ab7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i900d6293cd6a4957a9c87db519f706e2_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOC0xLTEtMS02NjkwNA_f0c34bbc-ffee-48bb-afd6-186d7c9eb7ee"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0133b6a15012403c9aae6b02d26c2e76_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOC0zLTEtMS02NjkwNA_75735fad-8eec-465e-9ece-36ab56341db1"
      unitRef="usd">1976000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i981d4f1eccab456885f61e1d738832ac_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOC01LTEtMS02NjkwNA_d3bfee60-78b5-4621-ab60-f8580597edf4"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3e4fb536e6844ec69ddacc2e35b4e58f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOS0xLTEtMS02NjkwNA_8d424e9d-874a-4658-9ac7-1dc7661713ec"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i684a6e1d7eee441cb8946daac707f994_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOS0zLTEtMS02NjkwNA_960a2004-d69b-4473-889d-e84bba6cb0cb"
      unitRef="usd">624000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i26f8465ff4884c99b77e93ad07d51a88_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfOS01LTEtMS02NjkwNA_fa663e5f-3b17-41a7-b547-93924dc485ff"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTQtMS0xLTEtNjY5MDQ_0bc83dd9-6d09-42b4-a862-407708a65593"
      unitRef="usd">0</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="i3a16d4b0e1b0474cad19d38781816a46_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTQtMy0xLTEtNjY5MDQ_3399f9af-f08c-47b3-8793-3de2b4da3c9e"
      unitRef="usd">46000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTQtNS0xLTEtNjY5MDQ_c8367bee-e2f3-4af2-837b-7056742c47f9"
      unitRef="usd">0</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTctMS0xLTEtNjY5MDQ_d0d7b0fa-8134-43cd-910c-926abc14464d"
      unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="i3a16d4b0e1b0474cad19d38781816a46_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTctMy0xLTEtNjY5MDQ_f16605df-174a-42ef-b88b-891cbefe8cd2"
      unitRef="usd">425000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="i4807bcc5f9db4e14ae62159cb193c4d7_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RhYmxlOjAzYzEzZmIzOGI3ODRmMGU4ZDc1NTVjMTExMjZlYTc2L3RhYmxlcmFuZ2U6MDNjMTNmYjM4Yjc4NGYwZThkNzU1NWMxMTEyNmVhNzZfMTctNS0xLTEtNjY5MDQ_16d215b4-6128-4f5a-944d-484e31a835ba"
      unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i9eae83011fcf441195104bd4730e5860_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMTYzNQ_cb59a335-1c2a-4e28-8d36-043045a7c8a7"
      unitRef="usd">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80Ni9mcmFnOjVlNWZkM2U3MzQyNTRlNTA4MGY2ZmJkMjA0MjZmNmEyL3RleHRyZWdpb246NWU1ZmQzZTczNDI1NGU1MDgwZjZmYmQyMDQyNmY2YTJfMTc0OA_7d28556f-f9b1-4519-b8b5-51411f248902"
      unitRef="usd">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:CashAndCashEquivalentsDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfNTQ5NzU1ODE5NzQy_9ce4f058-184f-46a6-9421-11a34921b36f">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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;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;173,373&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;185,624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;Money market instruments&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,149&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;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;524&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;&#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;/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;177,046&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;186,161&#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;padding:2px 0 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;124,805&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;73,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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:700;line-height:100%"&gt;26,465&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;37,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;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:700;line-height:100%"&gt;18,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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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;12,162&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;18,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;624&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,998&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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="display:none"/&gt;&lt;td colspan="3" 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;182,634&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;137,455&#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:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;370,383&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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;481,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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:700;line-height:100%"&gt;43,698&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;43,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;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;12,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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,753&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;1,976&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;2,119&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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: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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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: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;641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;428,401&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;583,748&#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;788,081&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;907,364&#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="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;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; agency bonds consist of domestic or foreign obligations of government agencies and government-sponsored enterprises that have government backing; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All of the Company's securities as of July&#160;3, 2022 and December&#160;31, 2021 were denominated in U.S. Dollars.&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;Accrued interest receivable is recorded in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to $2,732,000 and $3,037,000 as of July&#160;3, 2022 and December&#160;31, 2021, 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 July&#160;3, 2022 (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;Corporate bonds&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;126,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,481)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;124,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;26,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(291)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 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;18,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(358)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/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;12,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;390,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(20,319)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;370,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;45,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,579)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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;12,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(236)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;2,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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 #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;635,518&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;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;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;(24,491)&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;611,035&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: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 July&#160;3, 2022 (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;443,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(19,208)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;51,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(2,592)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;495,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(21,800)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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;67,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,867)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,870)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:400;line-height:100%"&gt;22,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(307)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:400;line-height:100%"&gt;18,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;(358)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;18,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;(358)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;/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:#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;554,348&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;(21,893)&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;52,222&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;(2,598)&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;606,570&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;(24,491)&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;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;Management monitors debt securities that are in an unrealized loss position to determine whether a loss exists related to the credit quality of the issuer. When developing an estimate of expected credit losses, management considers all relevant information including historical experience, current conditions, and reasonable forecasts of expected future cash flows. Based on this evaluation, no allowance for credit losses on debt securities was recorded as of July&#160;3, 2022 or December&#160;31, 2021. There was no activity recorded in the allowance for credit losses during the three-month or six-month periods ended July&#160;3, 2022 or July&#160;4, 2021.&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 Company recorded gross realized gains on the sale of debt securities totaling $15,000 and $133,000 for the three-month and six-month periods ended July&#160;3, 2022, respectively, and gross realized losses on the sale of debt securities totaling $3,000 and $157,000 for the three-month and six-month periods ended July&#160;3, 2022. The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling $68,000 and $0, respectively, for both the three-month and six-month periods ended July&#160;4, 2021. Realized 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, were 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 July&#160;3, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width: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 style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width: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="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="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;124,805&#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;177,030&#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;129,638&#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,152&#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;12,563&#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 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;495,188&#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;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,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;27,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,862&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:400;line-height:100%"&gt;12,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,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;/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;18,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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/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;&#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;992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;182,634&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;214,542&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;139,298&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;61,998&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;12,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:#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;611,035&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:CashAndCashEquivalentsDisclosureTextBlock>
    <cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU4Mw_df9342f7-4d2a-4dbc-bc92-7cfe1014ea8d">&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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;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;173,373&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;185,624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;Money market instruments&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,149&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;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;524&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;&#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;/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;177,046&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;186,161&#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;padding:2px 0 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;124,805&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;73,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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:700;line-height:100%"&gt;26,465&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;37,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;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:700;line-height:100%"&gt;18,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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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;12,162&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;18,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;624&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,998&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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="display:none"/&gt;&lt;td colspan="3" 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;182,634&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;137,455&#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:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;370,383&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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;481,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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:700;line-height:100%"&gt;43,698&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;43,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;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;12,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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,753&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;1,976&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;2,119&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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: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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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: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;641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;428,401&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;583,748&#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;788,081&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;907,364&#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="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMS0xLTEtMS02NjkwNA_f1f77d63-b22c-49a8-8df8-0ae125d97270"
      unitRef="usd">173373000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMS0zLTEtMS02NjkwNA_f1d2e8b6-5561-467d-ac57-8a4a12a05472"
      unitRef="usd">185624000</us-gaap:Cash>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0xLTEtMS03MTI5MA_471142ae-e30b-47fc-94e1-36b78afa5919"
      unitRef="usd">3149000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0zLTEtMS03MTI5MA_190b027c-7fe7-4251-a552-d3a213d91c15"
      unitRef="usd">537000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0xLTEtMS02NjkwNA_2f6d1285-0da6-440a-b843-b23c7d87d6a0"
      unitRef="usd">524000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMy0zLTEtMS02NjkwNA_4ce17b0f-51f2-45ce-b03f-087fc90fb945"
      unitRef="usd">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNS0xLTEtMS02NjkwNA_85f840f2-91c0-4c09-81de-7428c32063b4"
      unitRef="usd">177046000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNS0zLTEtMS02NjkwNA_822b556b-c857-4f18-a698-bbc94f737c51"
      unitRef="usd">186161000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNi0xLTEtMS02NjkwNA_c433e826-e4e2-4169-a7e4-627f0cf28897"
      unitRef="usd">124805000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i3c1b7f60bfd648e6835f8baadffaaca3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNi0zLTEtMS02NjkwNA_14f60431-e2b1-48b4-97e9-b3b8e04faea2"
      unitRef="usd">73088000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNy0xLTEtMS02NjkwNA_4848e4f8-1926-406a-9dda-055aa6db569a"
      unitRef="usd">26465000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i3185613bcd024576a3d64e9e02161f8e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfNy0zLTEtMS02NjkwNA_b9cf10e6-48da-47cb-bfad-6734c8767582"
      unitRef="usd">37655000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOS0xLTEtMS03MDMzMA_0fde9100-d6a7-47e4-8a3d-f464cc21f023"
      unitRef="usd">18578000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i1386388acc254a53b261cd51f0b27108_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOS0zLTEtMS03MDMzMA_883878d6-492d-4e87-b7b3-98d225a053f3"
      unitRef="usd">2802000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOC0xLTEtMS02NjkwNA_c17d74c5-c823-4d1d-8073-661ade7e6d75"
      unitRef="usd">12162000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="iab5936e583b74fb4b0603159a8da7d6a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfOC0zLTEtMS02NjkwNA_f4a76a28-5e55-4948-811c-bc9d9bd4d57d"
      unitRef="usd">18912000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTAtMS0xLTEtNjY5MDQ_9792ff88-bf34-4f93-9015-360337990e61"
      unitRef="usd">624000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ie7fa7e149f9342268a593002c6c0481a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTAtMy0xLTEtNjY5MDQ_6458abba-3bd8-48bf-bc63-29c82b81e0a0"
      unitRef="usd">4998000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTUtMS0xLTEtNjY5MDQ_f1805d32-780b-460d-bfd2-dea079412565"
      unitRef="usd">182634000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTUtMy0xLTEtNjY5MDQ_becbc66f-35cb-44be-b1b8-c070efce671f"
      unitRef="usd">137455000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTYtMS0xLTEtNjY5MDQ_40fa8483-d384-4150-9375-f11e2628190f"
      unitRef="usd">370383000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i3c1b7f60bfd648e6835f8baadffaaca3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTYtMy0xLTEtNjY5MDQ_e9d25f4f-10f0-4c5e-abdd-b6691a539474"
      unitRef="usd">481218000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTctMS0xLTEtNjY5MDQ_554354fd-ccaf-4f91-9826-4da65939fe84"
      unitRef="usd">43698000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i3185613bcd024576a3d64e9e02161f8e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTctMy0xLTEtNjY5MDQ_49035a38-adde-4c6d-b47c-a4fc5f606feb"
      unitRef="usd">43940000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTktMS0xLTEtNjY5MDQ_8625ae95-ac03-4632-8257-89400ca5d8cb"
      unitRef="usd">12344000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="iab5936e583b74fb4b0603159a8da7d6a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMTktMy0xLTEtNjY5MDQ_79856a00-a4ff-4f75-accb-a0ba8b73f49d"
      unitRef="usd">39753000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i81fa8af1f8ee45db904a3f8ea5d82771_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjAtMS0xLTEtNjY5MDQ_9aaccdf9-62db-4b7f-9a73-a727bdb6b599"
      unitRef="usd">1976000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i3b3bbfecc52f45bebb2ee45673bba91f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjAtMy0xLTEtNjY5MDQ_16a40239-4e52-4ee0-81f8-248e0b3f05d6"
      unitRef="usd">2119000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjItMS0xLTEtNzAzMzY_400cf600-1cbe-4d7e-9bac-3bd21f3f9fe2"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i1386388acc254a53b261cd51f0b27108_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjItMy0xLTEtNzAzMzY_1aee3ce9-4fea-4c99-9cce-9ce2223b5b9e"
      unitRef="usd">16077000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjEtMS0xLTEtNjY5MDQ_64e9500a-b7f5-4502-ae13-d52ffab5076a"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="ie7fa7e149f9342268a593002c6c0481a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjEtMy0xLTEtNjY5MDQ_00d6f8ff-8bde-4b97-9b6d-e0bf65def2a0"
      unitRef="usd">641000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:LongTermInvestments
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjQtMS0xLTEtNjY5MDQ_3edfa1f4-6172-4c40-9ae7-215c98a1886a"
      unitRef="usd">428401000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjQtMy0xLTEtNjY5MDQ_398f3022-f37e-4872-b3ee-36c15fb1efb5"
      unitRef="usd">583748000</us-gaap:LongTermInvestments>
    <cgnx:CashCashEquivalentsShortTermAndLongTermInvestments
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjUtMS0xLTEtNjY5MDQ_f773a7e4-493c-4d8f-b975-1955e0af5ad1"
      unitRef="usd">788081000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
    <cgnx:CashCashEquivalentsShortTermAndLongTermInvestments
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmYyNjg2YTIyMTkwNzQxZWJiYjllNzlhYWQwYTNhZTQyL3RhYmxlcmFuZ2U6ZjI2ODZhMjIxOTA3NDFlYmJiOWU3OWFhZDBhM2FlNDJfMjUtMy0xLTEtNjY5MDQ_c281d728-4bf1-4f10-83fe-5d6501491e8d"
      unitRef="usd">907364000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
    <us-gaap:InterestReceivable
      contextRef="i79ea79df485441d3a01bc5840570243f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfOTU0_30a4f805-fac7-49e6-bdb3-3c099bb17343"
      unitRef="usd">2732000</us-gaap:InterestReceivable>
    <us-gaap:InterestReceivable
      contextRef="ia019108500434dc69ff1453b0ebb35f5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfOTYx_74d6f36c-32e0-4b08-a4a6-04732895b965"
      unitRef="usd">3037000</us-gaap:InterestReceivable>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU5Mw_966edc4b-7cc5-47e4-bd0c-dba686eb72b4">&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 July&#160;3, 2022 (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;Corporate bonds&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;126,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,481)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;124,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;26,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(291)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 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;18,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(358)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/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;12,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;390,702&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(20,319)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;370,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;45,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,579)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,698&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align: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;12,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(236)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;2,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;(142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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 #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;635,518&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;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;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;(24,491)&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;611,035&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="i7d2515138f594eb6849e8e06fa3d1a95_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi0xLTEtMS02NjkwNA_c2837f64-e664-4780-aded-05104a65970b"
      unitRef="usd">126286000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi0zLTEtMS02NjkwNA_679304c4-1d4c-42a3-bca0-583367161b9a"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi01LTEtMS02NjkwNA_be9b7fdd-12b3-425f-baf0-d0edadb379b9"
      unitRef="usd">1481000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i7d2515138f594eb6849e8e06fa3d1a95_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMi03LTEtMS02NjkwNA_885b6e22-0270-4b05-b9b8-22a00b2ef08f"
      unitRef="usd">124805000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy0xLTEtMS02NjkwNA_0973f06d-e3a9-4689-88f0-40fb71cce7e8"
      unitRef="usd">26756000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy0zLTEtMS02NjkwNA_7acb1501-4b10-4773-8e7e-f9a21003c747"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy01LTEtMS02NjkwNA_e3c91403-1d7a-4d0d-b59a-4d546462a8d5"
      unitRef="usd">291000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iebf72c394fea4a13937203b515e00a0f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMy03LTEtMS02NjkwNA_f22cd27c-2f91-48f6-8641-01e4f2757ed0"
      unitRef="usd">26465000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0xLTEtMS03MDM0Mg_1b1d695c-b513-49b9-9760-ce3b1e503b77"
      unitRef="usd">18936000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0zLTEtMS03MDM0Mg_682461f3-df40-4ccd-880b-7c8b000badb4"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi01LTEtMS03MDM0Mg_6537d179-68c1-4a73-8820-fc0b934d4f8f"
      unitRef="usd">358000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i62da00452b0f40d1b875dc023ea2fd11_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi03LTEtMS03MDM0Mg_dc57ee88-2c4c-4994-96d6-195e74a9b817"
      unitRef="usd">18578000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0xLTEtMS02NjkwNA_86184443-c290-4f12-96fb-eeb97b4fbf3a"
      unitRef="usd">12236000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi0zLTEtMS02NjkwNA_6e90f127-1fc1-4445-a0f0-8a408709466b"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi01LTEtMS02NjkwNA_be9fd1f4-a118-4238-90bc-cbd1d55a60f0"
      unitRef="usd">74000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4f48083c39c247418c8ebf025083b62e_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfNi03LTEtMS02NjkwNA_18855c95-7ef1-4a4e-8fce-3e97bac5e53d"
      unitRef="usd">12162000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i941a929dd1904e5db2765c1c20361836_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC0xLTEtMS02NjkwNA_bfe6fd67-415a-40f1-b291-1f9bba63bb53"
      unitRef="usd">635000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i941a929dd1904e5db2765c1c20361836_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC0zLTEtMS02NjkwNA_5e6c8d5d-b962-4ea6-8f8b-9dad479686cf"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i941a929dd1904e5db2765c1c20361836_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC01LTEtMS02NjkwNA_66c7e3a7-75f5-4881-8e82-a51353c4a930"
      unitRef="usd">11000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i941a929dd1904e5db2765c1c20361836_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfOC03LTEtMS02NjkwNA_90afb4c6-1d76-4f35-9c66-cf82cc11031a"
      unitRef="usd">624000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtMS0xLTEtNjY5MDQ_8df3d656-da95-4ee5-9966-2c92cf55e99e"
      unitRef="usd">390702000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtMy0xLTEtNjY5MDQ_21f61138-3e22-45de-b136-0201854f7217"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtNS0xLTEtNjY5MDQ_7c19047b-12f5-4bdc-9a4c-97907525bddc"
      unitRef="usd">20319000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id88631cb785544b99b23d6a5d866de5f_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTEtNy0xLTEtNjY5MDQ_8b88126b-7755-4630-8baf-2aba0b338e99"
      unitRef="usd">370383000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItMS0xLTEtNjY5MDQ_49a0a18a-e048-453d-a3fa-f656e22f04fe"
      unitRef="usd">45269000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItMy0xLTEtNjY5MDQ_8307eb7c-2568-483c-9c23-4f841466f983"
      unitRef="usd">8000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItNS0xLTEtNjY5MDQ_34e2e729-6ba5-45fc-93f4-697dff6e6df5"
      unitRef="usd">1579000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6d717bee1e5841b5a4929e49d8b89926_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTItNy0xLTEtNjY5MDQ_aa7d0fce-a6f6-4420-bd08-dcfcf5f2aad4"
      unitRef="usd">43698000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i838e088964e04214af67aab7ae8bee29_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtMS0xLTEtNjY5MDQ_ddbf3691-7327-44c8-8e4a-54e9ede29ad3"
      unitRef="usd">12580000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i838e088964e04214af67aab7ae8bee29_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtMy0xLTEtNjY5MDQ_c219f7d6-a92a-4b50-8673-8263d93bab9d"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i838e088964e04214af67aab7ae8bee29_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtNS0xLTEtNjY5MDQ_e8a3d005-aad7-43b3-8c6d-c6a2d1e4bac4"
      unitRef="usd">236000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i838e088964e04214af67aab7ae8bee29_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTQtNy0xLTEtNjY5MDQ_162f5f4b-17f4-4c91-8903-f5736f4a49b9"
      unitRef="usd">12344000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="id89647d516424703a73aa6bba2954718_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtMS0xLTEtNjY5MDQ_a1818cd4-054a-4205-8ff0-27a654639c8b"
      unitRef="usd">2118000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="id89647d516424703a73aa6bba2954718_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtMy0xLTEtNjY5MDQ_8f2c52b9-fa03-49f4-b070-7016177bda28"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="id89647d516424703a73aa6bba2954718_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtNS0xLTEtNjY5MDQ_4533c59b-cf16-4378-bfca-6748ded805e3"
      unitRef="usd">142000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id89647d516424703a73aa6bba2954718_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTUtNy0xLTEtNjY5MDQ_66a41cab-d1ef-491d-9460-8aaa55cdcccc"
      unitRef="usd">1976000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctMS0xLTEtNjY5MDQ_c0c8ac74-c993-46ca-a10f-13ff72091200"
      unitRef="usd">635518000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctMy0xLTEtNjY5MDQ_08dff0bc-719e-47b3-96ae-11aef7df212d"
      unitRef="usd">8000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctNS0xLTEtNjY5MDQ_e9b96d13-4cd6-4913-a5b0-3ea30d902943"
      unitRef="usd">24491000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjQxY2NiN2YwODA2ZjRjZmJiZDlmMjU5MzU1NTg0MDA1L3RhYmxlcmFuZ2U6NDFjY2I3ZjA4MDZmNGNmYmJkOWYyNTkzNTU1ODQwMDVfMTctNy0xLTEtNjY5MDQ_e92ca8da-531d-49d1-8187-599caf16449c"
      unitRef="usd">611035000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU2NA_a41a925c-9eac-47bd-af63-73045a3d0f71">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 July&#160;3, 2022 (in thousands):&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;443,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(19,208)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;51,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(2,592)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;495,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;(21,800)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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;67,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,867)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,870)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:400;line-height:100%"&gt;22,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(307)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(310)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:400;line-height:100%"&gt;18,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;(358)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;18,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;(358)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(142)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;/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:#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;554,348&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;(21,893)&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;52,222&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;(2,598)&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;606,570&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;(24,491)&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;</us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy0xLTEtMS02NjkwNA_7963752d-ee62-4a8f-832b-237fe47c04c6"
      unitRef="usd">443391000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy0zLTEtMS02NjkwNA_e0682f8e-dbbf-4cca-a235-b4106eac03d3"
      unitRef="usd">19208000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy01LTEtMS02NjkwNA_7adc49db-e99d-4324-aac6-04a2cc8fd5a9"
      unitRef="usd">51797000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy03LTEtMS02NjkwNA_24e9fc81-ff45-40e9-9016-55d3c9161a20"
      unitRef="usd">2592000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy05LTEtMS02NjkwNA_0ac3ee01-8689-4987-9918-8ee25adabf4f"
      unitRef="usd">495188000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMy0xMS0xLTEtNjY5MDQ_dbf70282-68f6-4bc3-9f73-31f39d36ad3a"
      unitRef="usd">21800000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC0xLTEtMS02NjkwNA_ac619b1f-86be-4fd8-ad85-88a9db2c7dc4"
      unitRef="usd">67533000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC0zLTEtMS02NjkwNA_7a3dfdd5-584b-47c2-95c0-5f6757014ad7"
      unitRef="usd">1867000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC01LTEtMS02NjkwNA_58b9d43e-8511-4d78-b930-8042354d9ccf"
      unitRef="usd">323000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC03LTEtMS02NjkwNA_8fd44ae0-8f2a-4c57-8a71-60a1ea07b2dd"
      unitRef="usd">3000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC05LTEtMS02NjkwNA_aad6bb6d-3e55-4f47-be1c-ef15aa868117"
      unitRef="usd">67856000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNC0xMS0xLTEtNjY5MDQ_d7da2e38-44e9-4e03-b48d-de44d4b0e8f4"
      unitRef="usd">1870000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS0xLTEtMS02NjkwNA_d1857d53-e929-40a0-92e3-4c2aff07f355"
      unitRef="usd">22246000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS0zLTEtMS02NjkwNA_a302d37c-e0d9-4538-a0d5-b1e22c93162b"
      unitRef="usd">307000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS01LTEtMS02NjkwNA_0e440ea4-6668-453e-be64-cc168573a8dd"
      unitRef="usd">102000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS03LTEtMS02NjkwNA_b0444de4-5a90-4b7b-ae8a-e26fbc9bb752"
      unitRef="usd">3000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS05LTEtMS02NjkwNA_529f4c63-5607-44cd-b9f1-362bd3b8b093"
      unitRef="usd">22348000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNS0xMS0xLTEtNjY5MDQ_b31a8ab6-8661-4bea-825e-70bae46e546d"
      unitRef="usd">310000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi0xLTEtMS02NjkwNA_2ee36a2b-e2eb-4ef3-93a6-6166c2b77fa8"
      unitRef="usd">18578000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi0zLTEtMS02NjkwNA_e110eb7b-5efa-470a-a757-bb8a2221efb9"
      unitRef="usd">358000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi01LTEtMS02NjkwNA_cd1576a8-9130-445d-92f3-9ac9bc283056"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi03LTEtMS02NjkwNA_bafa6396-cdad-4090-ac88-a2aa9395b866"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi05LTEtMS02NjkwNA_fbc68a30-5506-46db-ad55-da66141b3e85"
      unitRef="usd">18578000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNi0xMS0xLTEtNjY5MDQ_ded89696-7c77-49b4-8008-a95845edf751"
      unitRef="usd">358000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy0xLTEtMS02NjkwNA_c31a642b-0975-4c34-ad4c-ff8e3c83ef03"
      unitRef="usd">1976000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy0zLTEtMS02NjkwNA_35306006-d1e5-4348-9a62-743378331469"
      unitRef="usd">142000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy01LTEtMS02NjkwNA_4f53b735-a057-48fd-b0a3-cf45afb21428"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy03LTEtMS02NjkwNA_eaacb8f2-c52d-4d72-ae73-94184b257eb1"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy05LTEtMS02NjkwNA_0a54b4ed-a607-46b2-8846-0c2fc767de57"
      unitRef="usd">1976000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfNy0xMS0xLTEtNjY5MDQ_98dc9b56-eebe-434a-bf34-1b9a7e2ba0a2"
      unitRef="usd">142000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC0xLTEtMS02NjkwNA_3627aabb-126c-4716-90bf-f0d7901dddcf"
      unitRef="usd">624000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC0zLTEtMS02NjkwNA_1baeb499-1cd5-4e89-87f5-f72b6a5ddb24"
      unitRef="usd">11000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC01LTEtMS02NjkwNA_57434680-231f-46b7-aad4-07e7d23f2ac1"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC03LTEtMS02NjkwNA_9a8e567c-7653-4071-864a-c56144af141d"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC05LTEtMS02NjkwNA_fa69b2d9-9bdf-46d2-b73c-9984c5c70bb3"
      unitRef="usd">624000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfOC0xMS0xLTEtNjY5MDQ_3afcb65f-d606-49ca-b9dc-cc2e70b2c083"
      unitRef="usd">11000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtMS0xLTEtNjY5MDQ_8720ab2f-f933-4606-866b-27565ae9505b"
      unitRef="usd">554348000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtMy0xLTEtNjY5MDQ_100066ef-10be-4cb9-b2a8-cda9a2fe3a61"
      unitRef="usd">21893000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtNS0xLTEtNjY5MDQ_f0510572-3dbe-4ab6-8a49-b5e7295cd7a4"
      unitRef="usd">52222000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtNy0xLTEtNjY5MDQ_29ea6c8b-6d8c-489f-a5a0-63d4603befdb"
      unitRef="usd">2598000</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtOS0xLTEtNjY5MDQ_b92ef149-9fa4-4468-b2f3-ca40d083539a"
      unitRef="usd">606570000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOmY5ZDU1Y2Q5NDc5OTRjNjVhMWRhZjQzODQxNmRmOTI0L3RhYmxlcmFuZ2U6ZjlkNTVjZDk0Nzk5NGM2NWExZGFmNDM4NDE2ZGY5MjRfMTEtMTEtMS0xLTY2OTA0_335bd059-1d56-4b50-a4f1-985528e8ab27"
      unitRef="usd">24491000</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY2OQ_389fd245-36c3-4879-8c03-565f8698ac50"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY2OQ_3b6164f5-698a-47b3-bb61-5a676f4ecd4e"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_31f4aee1-013a-440e-af55-4fe31a2eed9c"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_74fa1312-f3bf-460a-9b5f-66b8701522c5"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_84fd9ea1-f0e7-490d-8ea9-e8592ea063cc"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease>
    <us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTc1OA_f08c2d60-5cf9-452e-aede-d9bda28756f6"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTk1NA_8f245812-197e-445b-b44d-d297c3a4676c"
      unitRef="usd">15000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTk2MQ_40177431-7cfb-40b3-b024-bc3af88584b5"
      unitRef="usd">133000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY0OTI2NzQ0NTYzNg_3e595103-8840-4cd5-a16d-b6fc415529cc"
      unitRef="usd">3000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTY0OTI2NzQ0NTY0Mg_7633a0fc-632d-456d-b734-4d0bb7dbb90b"
      unitRef="usd">157000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzU5Mg_94a02ce0-dc93-4640-a21b-65ac05b5a1c2"
      unitRef="usd">68000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzU5Mg_c1597a82-35ed-4c90-abcb-a16c997bbbe7"
      unitRef="usd">68000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzM1OA_4b9e80ae-a202-47e0-95c5-8edc1dc64c1e"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMTA5OTUxMTYzMzM1OA_a240499a-4e06-47e4-a63a-e411deef95a5"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RleHRyZWdpb246OWRhN2E4MTA0NGRiNDAwYWFhN2E0ODQxZDdiODZjYzZfMjU1MA_daedb337-a28d-42fc-b8e2-b77a9aa2157c">&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 July&#160;3, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width: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 style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width: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="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="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;124,805&#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;177,030&#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;129,638&#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,152&#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;12,563&#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 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;495,188&#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;Asset-backed securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,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;27,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,862&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:400;line-height:100%"&gt;12,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,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;/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;18,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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;/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;&#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;992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align: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;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;182,634&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;214,542&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;139,298&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;61,998&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;12,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:#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;611,035&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="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS0xLTEtMS02NjkwNA_2b882e0e-b786-46f9-8e56-f07c35232938"
      unitRef="usd">124805000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS0zLTEtMS02NjkwNA_2fd17428-0bbd-4b85-b7a4-41d2851c8e07"
      unitRef="usd">177030000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS01LTEtMS02NjkwNA_5c773b04-5081-4b2d-ab44-c706149b3450"
      unitRef="usd">129638000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS03LTEtMS02NjkwNA_3d10b2b7-3889-41e1-b280-6c0e927d4a62"
      unitRef="usd">51152000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS05LTEtMS02NjkwNA_635c174c-7dc5-4fb7-ad95-4b4909059daa"
      unitRef="usd">12563000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if655ab2146f949938f1537cc89b9f5df_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMS0xMy0xLTEtNjY5MDQ_11841843-14a4-4167-9d55-885978cbbaa0"
      unitRef="usd">495188000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi0xLTEtMS02NjkwNA_97e66efc-790e-4644-bf3d-c57fab65e785"
      unitRef="usd">26465000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi0zLTEtMS02NjkwNA_b57ded4c-a1ae-4f2c-9d6a-55ce172bc1c6"
      unitRef="usd">27660000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi01LTEtMS02NjkwNA_4cec96da-502f-414b-a1ae-6b134247f745"
      unitRef="usd">6176000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi03LTEtMS02NjkwNA_0cf87f9a-ad10-40e7-8db4-013ae3137bc9"
      unitRef="usd">9862000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi05LTEtMS02NjkwNA_10fc050a-04b6-4509-8ef6-ea0abfbadeed"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2dd9d5e9b3b94acdad62e8b843203f53_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMi0xMy0xLTEtNjY5MDQ_0ec06050-c37d-416d-9661-ca90a29260e7"
      unitRef="usd">70163000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy0xLTEtMS02NjkwNA_3adeb696-a4c7-4089-b717-35bb90117f50"
      unitRef="usd">12162000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy0zLTEtMS02NjkwNA_43c0f6e4-7af6-4bb8-af40-298ba2ad6a4d"
      unitRef="usd">9852000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy01LTEtMS02NjkwNA_eb7ed397-a39f-4158-a1fd-daae04515d0c"
      unitRef="usd">2492000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy03LTEtMS02NjkwNA_fc6ec3b3-0e7f-4a44-bfa7-b3661a14277e"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy05LTEtMS02NjkwNA_8054a22f-d8f8-410e-ad79-21db8a4889a2"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib098ed679c5c4bf0adc4ed23c528a77a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMy0xMy0xLTEtNjY5MDQ_d53a8e60-6f81-4589-aec7-18010de5334a"
      unitRef="usd">24506000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi0xLTEtMS02NjkwNA_daf46663-f0b8-46ca-99b9-5573a580a0ce"
      unitRef="usd">18578000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi0zLTEtMS02NjkwNA_62c8f195-e11c-4cec-808f-f824517a0026"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi01LTEtMS02NjkwNA_f04e4f6e-7f58-44e8-a6d4-cee4b8ddb9fb"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi03LTEtMS02NjkwNA_b47481cd-cb47-466d-a23f-a909ca112f39"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi05LTEtMS02NjkwNA_63fcb830-8c5d-42a4-9812-6c3f5940d40c"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2021691a4ebd4956abdeb69a0a6a7f3c_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNi0xMy0xLTEtNjY5MDQ_090a0c45-e81d-428b-a127-eabb3542f4a1"
      unitRef="usd">18578000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy0xLTEtMS02NjkwNA_0f6c99aa-392c-4aa8-a81e-32ad072ac7e3"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy0zLTEtMS02NjkwNA_32706da6-bd08-41c1-a5f0-b253303645e9"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy01LTEtMS02NjkwNA_2fb4ed0b-79de-4835-bc8f-5e49c25f1ebc"
      unitRef="usd">992000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy03LTEtMS02NjkwNA_446b789b-a46b-4d5a-8d28-4fcbf44d6272"
      unitRef="usd">984000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy05LTEtMS02NjkwNA_c683561d-214f-4828-ac7c-65a1673f7a46"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if3eac359d8944078829b16ee8b107930_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfNy0xMy0xLTEtNjY5MDQ_b52b4a6f-5e3b-45ba-bcd0-a61bc9a71d2b"
      unitRef="usd">1976000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC0xLTEtMS02NjkwNA_107cf484-3c4b-4795-8af2-3f8a4a7ceb4a"
      unitRef="usd">624000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC0zLTEtMS02NjkwNA_cc782869-df8f-4e92-aa3c-2c40062029c3"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC01LTEtMS02NjkwNA_ebc8b333-7a62-41f5-8f77-b9aafb11778a"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC03LTEtMS02NjkwNA_492bebed-d33a-4ecd-bcdc-11b99cdcd9bd"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC05LTEtMS02NjkwNA_dbaf5465-2335-4113-b26f-509d45390b66"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i7db6082ab94049d1a40d2d69f5cae2fc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfOC0xMy0xLTEtNjY5MDQ_a55682e6-5126-48e4-b829-1f8901d5d47a"
      unitRef="usd">624000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtMS0xLTEtNjY5MDQ_bceac75e-418b-4d4d-af5e-ff6ffefea27e"
      unitRef="usd">182634000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtMy0xLTEtNjY5MDQ_7290fe7e-f37d-4a26-8337-d5c52f7d8fe1"
      unitRef="usd">214542000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtNS0xLTEtNjY5MDQ_60410140-ddc3-40e3-b8a1-ca4869f2adc9"
      unitRef="usd">139298000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtNy0xLTEtNjY5MDQ_b7b35894-9d30-4c10-b54c-c0bebbcc5da7"
      unitRef="usd">61998000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtOS0xLTEtNjY5MDQ_62cf3275-540d-4969-90fa-9b5562a7d101"
      unitRef="usd">12563000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF80OS9mcmFnOjlkYTdhODEwNDRkYjQwMGFhYTdhNDg0MWQ3Yjg2Y2M2L3RhYmxlOjhhYjZkNDQ1ZmJlOTRjNTBhMWJhMTk4YTNlZjNhZjU5L3RhYmxlcmFuZ2U6OGFiNmQ0NDVmYmU5NGM1MGExYmExOThhM2VmM2FmNTlfMTEtMTMtMS0xLTY2OTA0_7b8e863b-ad39-4f7c-85a3-22dc2639ede3"
      unitRef="usd">611035000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RleHRyZWdpb246ZTRjNjk5YzQ0ZTkzNDI1ZGFmMjUxMWQ2MjUyNzcxYmVfOTU_9af48884-9d25-4576-ade4-af97139049ba">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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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, 2021&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;41,568&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;50,452&#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;1,704&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,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;52,740&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;57,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;96,012&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;113,102&#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: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;Refer to Note 17 for information regarding losses incurred from the fire at the Company's primary contract manufacturer's plant in Indonesia during the three-month period ended July&#160;3, 2022, including the impact on inventories.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RleHRyZWdpb246ZTRjNjk5YzQ0ZTkzNDI1ZGFmMjUxMWQ2MjUyNzcxYmVfOTg_ebfe0af3-2f32-4d49-9827-3b2bf7634a4f">&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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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, 2021&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;41,568&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;50,452&#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;1,704&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,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;52,740&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;57,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;96,012&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;113,102&#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="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMS0xLTEtMS02NjkwNA_d970b126-20e1-49bd-8756-5a72a0ccec00"
      unitRef="usd">41568000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMS0zLTEtMS02NjkwNA_ea9edd87-0384-4c6f-9143-56dc99067a5a"
      unitRef="usd">50452000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMi0xLTEtMS02NjkwNA_2fbfdb86-107c-4765-976a-b76ad97ed0a5"
      unitRef="usd">1704000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMi0zLTEtMS02NjkwNA_cb44778e-26f5-4668-ad52-47453df64d3f"
      unitRef="usd">5293000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMy0xLTEtMS02NjkwNA_48a2723d-5984-480c-b1cd-3c616c122eb8"
      unitRef="usd">52740000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfMy0zLTEtMS02NjkwNA_9c1a2291-819b-4f56-aba5-ff5622b88ef2"
      unitRef="usd">57357000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfNC0xLTEtMS02NjkwNA_e2c15102-43b5-46e3-af95-819352d9291e"
      unitRef="usd">96012000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81Mi9mcmFnOmU0YzY5OWM0NGU5MzQyNWRhZjI1MTFkNjI1Mjc3MWJlL3RhYmxlOjkzZTNjYjkxMjcwZjRkOThhMTRjYmFjODc1Njk5ZGIyL3RhYmxlcmFuZ2U6OTNlM2NiOTEyNzBmNGQ5OGExNGNiYWM4NzU2OTlkYjJfNC0zLTEtMS02NjkwNA_f9bd03df-f2ac-4c9f-81b8-7c693bc788ea"
      unitRef="usd">113102000</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTgzMA_2d67dd8a-8cac-46df-b67d-750e6460f5a6">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. &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;As of July&#160;3, 2022, there were no options to terminate that were accounted for in the determination of the lease term for outstanding leases, and three options to extend that were accounted for in the determination of the lease term of three of the Company's 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 July&#160;3, 2022.&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 and six-month periods ended July&#160;3, 2022 were $2,215,000 and $4,444,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July&#160;3, 2022 were $2,227,000 and $4,306,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 for the three-month and six-month periods ended July&#160;3, 2022 were $37,000 and $75,000, respectively.&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 and six-month periods ended July&#160;4, 2021 were $2,021,000 and $4,023,000, respectively. The total operating lease cash payments for the three-month and six-month periods ended July&#160;4, 2021 were $2,014,000 and $4,075,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 for the three-month and six-month periods ended July&#160;4, 2021 were $38,000 and $78,000, 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 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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;4,536&#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;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;8,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;5,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;/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;3,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;2,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;11,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;37,488&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 $34,252,000 and $25,581,000 as of July&#160;3, 2022 and December&#160;31, 2021, respectively. The Company did not have any leases that had not yet commenced but that created significant rights and obligations as of July&#160;3, 2022.&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;In December 2021, the Company entered into a lease for a 65,000 square-foot building in Southborough, Massachusetts for a term of ten years to serve as a new distribution center for customers in the Americas. The Company has the right and option to extend the term of this lease for an additional period of five years, commencing upon the expiration of the original ten-year term. This lease commenced during the six-month period ended July&#160;3, 2022, and therefore the Company recorded approximately $9,271,000 within "Operating lease assets" and "Operating lease liabilities" on the Consolidated Balance Sheets on the commencement date.&lt;/span&gt;&lt;/div&gt;The weighted-average discount rate was 2.9% and 3.4% for the leases outstanding as of July&#160;3, 2022 and December&#160;31, 2021, respectively. The weighted-average remaining lease term was 6.9 and 5.1 years for the leases outstanding as of July&#160;3, 2022 and December&#160;31, 2021, respectively.</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfOTA3_2b770fc5-5f0c-41b3-8552-9165513ba826"
      unitRef="usd">2215000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfOTE0_1c2f9996-0674-4c5a-b5b9-bc3b8d1bed4a"
      unitRef="usd">4444000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTAyMQ_e686609c-b567-4dd4-8e45-5275fa065c6a"
      unitRef="usd">2227000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTAyOA_50eeafff-2d60-475a-92b1-013a9706dee3"
      unitRef="usd">4306000</us-gaap:OperatingLeasePayments>
    <us-gaap:LeaseCost
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI0Nw_3e9982f5-43e8-4dde-a0c5-4eb7880b4fbd"
      unitRef="usd">37000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI1NA_bb059e82-2ae0-4bf0-82a9-c7a40a6fc566"
      unitRef="usd">75000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMDcwNg_75272e08-0029-458b-8d47-335d04a56cf2"
      unitRef="usd">2021000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMDcxNw_1bfdb60a-4e74-4933-b9d9-3da41c521373"
      unitRef="usd">4023000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTAwMQ_b88f05c4-8bb4-4b9d-bbfc-b6083a829221"
      unitRef="usd">2014000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTAxMA_547a0a51-25ce-4abc-8071-f8f286f68af8"
      unitRef="usd">4075000</us-gaap:OperatingLeasePayments>
    <us-gaap:LeaseCost
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTI5Nw_713d4eb1-1b52-4bb3-aa7a-7a8626bc46a5"
      unitRef="usd">38000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTA5OTUxMTYzMTMwNA_80e76717-31dc-490e-b30f-1e0e95e3fe89"
      unitRef="usd">78000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTgzMw_b122c995-6545-4bfe-be14-21c25a25cf5d">&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 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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;4,536&#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;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;8,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;5,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;/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;3,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;2,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;11,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;37,488&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="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfMS0yLTEtMS02NjkwNA_583a02db-5005-476c-818e-9d1cb2745155"
      unitRef="usd">4536000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfMi0yLTEtMS02NjkwNA_8b106800-ac13-46fa-8c5b-cb549c089e73"
      unitRef="usd">8002000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfMy0yLTEtMS02NjkwNA_864b86a6-a652-4069-b2fe-32a489b13982"
      unitRef="usd">5114000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNC0yLTEtMS02NjkwNA_a7a2eaae-54bb-4acc-9d92-c1058bf722b4"
      unitRef="usd">3408000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNS0yLTEtMS02NjkwNA_a8f37d18-0939-4f1b-87de-e87ae0637fc0"
      unitRef="usd">2731000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNi0yLTEtMS02NjkwNA_2ca96e73-7eda-4747-bf0c-a32efaddf9ed"
      unitRef="usd">2662000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfNy0yLTEtMS02NjkwNA_5cc263d3-669f-43d0-a762-03372f48f10c"
      unitRef="usd">11035000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RhYmxlOjU1OTZkMzM2MzM2MTQxOGM5MTJmODVmYmJiM2M1NTg2L3RhYmxlcmFuZ2U6NTU5NmQzMzYzMzYxNDE4YzkxMmY4NWZiYmIzYzU1ODZfOC0yLTEtMS02NjkwNA_532b9832-72d8-4fa7-9216-ee92ebcef371"
      unitRef="usd">37488000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseLiability
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTQzOA_8c99bf32-f84a-40a2-bcd7-adc1d17caa36"
      unitRef="usd">34252000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTQ0NQ_881ca3c7-e005-4aa3-9e71-d5925d0977a4"
      unitRef="usd">25581000</us-gaap:OperatingLeaseLiability>
    <us-gaap:NetRentableArea
      contextRef="ifa97cca7645743f6b056c6140a2f06e7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0MjI_2ebde398-8c92-40ab-8bc2-384e5efac679"
      unitRef="sqft">65000</us-gaap:NetRentableArea>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ifa97cca7645743f6b056c6140a2f06e7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0NDE_e333b436-31a6-4c55-9093-39238ac20b22">P10Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <cgnx:LesseeOperatingLeaseOptionToRenewTermOfContract
      contextRef="ie8a64f61a7004c7b8795ce620fc86977_D20211201-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0NTg_cd401901-3a9a-4042-ae3b-d2f108e36f54">P5Y</cgnx:LesseeOperatingLeaseOptionToRenewTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ifa97cca7645743f6b056c6140a2f06e7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTI2NDQzODM3MjQ0OTU_3c668526-0033-4dfb-8580-724125034bc2">P10Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="iac666983932948cd872e2d0e4c2742dc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfNTQ5NzU1ODE4NjI5_8e847edd-1497-42af-b676-854c355c178f"
      unitRef="usd">9271000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="iac666983932948cd872e2d0e4c2742dc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfNTQ5NzU1ODE4NjI5_a59b7c35-73f2-47da-98e7-60094a1b923a"
      unitRef="usd">9271000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTY0Mw_aec333e7-ba29-47d2-9080-3ef6ce84c329"
      unitRef="number">0.029</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTY1MA_b36016ba-6cc2-4f0b-9340-a398de29edbd"
      unitRef="number">0.034</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTc1Nw_7721d151-70a2-42a0-ac3f-d30fad2533fe">P6Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81NS9mcmFnOmJkYmQ1ZmM5N2E3NTQzMmRhNGI2YmM1NmYxOWMwODQ5L3RleHRyZWdpb246YmRiZDVmYzk3YTc1NDMyZGE0YjZiYzU2ZjE5YzA4NDlfMTc2NA_6ad8ca58-6ede-4724-9226-d8b1c18a42ea">P5Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RleHRyZWdpb246NzM1ZTliOWVlMjhlNDVkMzk1YTQ1YzhiZmJkZGU0ODhfMTAw_0eb24968-cc96-41a9-8970-9e1b6df954b4">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, 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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;241,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,915)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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;239,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:#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="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RleHRyZWdpb246NzM1ZTliOWVlMjhlNDVkMzk1YTQ1YzhiZmJkZGU0ODhfMTAx_4316e132-b68a-4e0b-bc31-f2bdc8a3aea3">&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, 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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;241,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,915)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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;239,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:#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="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RhYmxlOjM4NmNkYTMzNzNjMzQ3MzFiYzNkZTc5YjE0Mzk2MzM2L3RhYmxlcmFuZ2U6Mzg2Y2RhMzM3M2MzNDczMWJjM2RlNzliMTQzOTYzMzZfMC0yLTEtMS02NjkwNA_5eb317cb-1b61-4063-a407-aa0ec920a259"
      unitRef="usd">241713000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RhYmxlOjM4NmNkYTMzNzNjMzQ3MzFiYzNkZTc5YjE0Mzk2MzM2L3RhYmxlcmFuZ2U6Mzg2Y2RhMzM3M2MzNDczMWJjM2RlNzliMTQzOTYzMzZfMS0yLTEtMS02NjkwNA_8ae88445-7514-4f52-ab70-aca1f37e07f7"
      unitRef="usd">-1915000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF81OC9mcmFnOjczNWU5YjllZTI4ZTQ1ZDM5NWE0NWM4YmZiZGRlNDg4L3RhYmxlOjM4NmNkYTMzNzNjMzQ3MzFiYzNkZTc5YjE0Mzk2MzM2L3RhYmxlcmFuZ2U6Mzg2Y2RhMzM3M2MzNDczMWJjM2RlNzliMTQzOTYzMzZfMi0yLTEtMS02NjkwNA_57ff7833-d475-43a9-b85c-e5ff4ac7c530"
      unitRef="usd">239798000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RleHRyZWdpb246MmE0NjQ4OTRlMTdhNGUzNmE3ZmVjNjg3NWQ1NzUyYjVfMjE5_7859ab9b-3593-4fc4-bd5c-e5874b722602">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;16,519&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;7,698&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;8,241&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;2,337&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;519&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;191&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;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;&#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;/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 July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;63,449&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;10,226&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;15,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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;&#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;Balance as of December 31, 2021&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;61,787&#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;11,888&#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 July&#160;3, 2022, 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 2022&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;1,613&#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;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;2,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;1,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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 #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;10,226&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:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RleHRyZWdpb246MmE0NjQ4OTRlMTdhNGUzNmE3ZmVjNjg3NWQ1NzUyYjVfMjEy_00d83dcf-ceb0-4fa4-a180-fac403dfa3c7">&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;16,519&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;7,698&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;8,241&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;2,337&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;519&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;191&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;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;&#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;/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 July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;63,449&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;10,226&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;15,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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;&#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;Balance as of December 31, 2021&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;61,787&#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;11,888&#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="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMS0xLTEtMS02NjkwNA_7de9697d-4a08-413c-bd41-87a8ac9eeb73"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMS0zLTEtMS02NjkwNA_d6242cc1-54af-422b-8f1f-d7bc87dee875"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i48da15c163da47e8b7dfbd4cdd108bf2_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMS01LTEtMS02NjkwNA_b67e93e5-24bd-4958-8b77-f92af2ed5e16"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i1074b83bca3f47639e15d262f3898cbd_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMi0xLTEtMS02NjkwNA_7ffcdd2f-8fea-4806-ac04-7df151f32a7c"
      unitRef="usd">24217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i1074b83bca3f47639e15d262f3898cbd_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMi0zLTEtMS02NjkwNA_287bef45-a17f-4e4a-b04a-e81a72eb909c"
      unitRef="usd">16519000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1074b83bca3f47639e15d262f3898cbd_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMi01LTEtMS02NjkwNA_84ff14d6-0015-43f8-8bba-71d8f525a56a"
      unitRef="usd">7698000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ibb6e178c62544e5d91c891b5e078d005_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMy0xLTEtMS02NjkwNA_f12162b8-8c07-44e3-9d69-29a4a71d7f8c"
      unitRef="usd">10578000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ibb6e178c62544e5d91c891b5e078d005_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMy0zLTEtMS02NjkwNA_c9eff29e-029a-44b9-b468-924f2d8e39c5"
      unitRef="usd">8241000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ibb6e178c62544e5d91c891b5e078d005_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMy01LTEtMS02NjkwNA_d250836b-a8f0-4b5e-b5ad-fb837024c593"
      unitRef="usd">2337000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie2fe481adc6e49f99e921e5b247ce660_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNC0xLTEtMS02NjkwNA_efc1799c-a459-4844-a880-fc551ccf5ba1"
      unitRef="usd">710000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie2fe481adc6e49f99e921e5b247ce660_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNC0zLTEtMS02NjkwNA_952b44d2-0c71-4090-9160-8e3adacd5412"
      unitRef="usd">519000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie2fe481adc6e49f99e921e5b247ce660_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNC01LTEtMS02NjkwNA_3c9efee9-5dea-4a7a-9fa0-cb49334b97e1"
      unitRef="usd">191000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i096756e1b1c44408beb972c46a48e5b0_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNS0xLTEtMS02NjkwNA_a4776d1b-0086-44b1-b645-c550483ecfbe"
      unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i096756e1b1c44408beb972c46a48e5b0_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNS0zLTEtMS02NjkwNA_de5dc6a8-bc91-4bfa-8a07-960057b1494a"
      unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i096756e1b1c44408beb972c46a48e5b0_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNS01LTEtMS02NjkwNA_c8722a15-1e02-4e23-a485-c9a6d984106a"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNi0xLTEtMS02NjkwNA_9f03d3a3-e189-4a03-9227-956c5213da96"
      unitRef="usd">73675000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNi0zLTEtMS02NjkwNA_b3629697-1657-4d0c-b21c-a2e7ba2e2af7"
      unitRef="usd">63449000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfNi01LTEtMS02NjkwNA_87455f41-6f98-4f9a-a1b1-e224a0e2e244"
      unitRef="usd">10226000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfOS0xLTEtMS02NjkwNA_67c25eba-b642-445f-8043-97888e9baa2a"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfOS0zLTEtMS02NjkwNA_75e3dd74-4797-476f-a118-4d891b0b5920"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i15aa1c8f8bd441bbb8f7f509ed3224b3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfOS01LTEtMS02NjkwNA_bb26e414-74b8-4885-8307-513a1c4379f6"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic65a1926b14248a4a5e94b0f208eefbe_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTAtMS0xLTEtNjY5MDQ_65a84d29-7a8d-4bdf-9619-30e5080f35e8"
      unitRef="usd">24217000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic65a1926b14248a4a5e94b0f208eefbe_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTAtMy0xLTEtNjY5MDQ_5f9aae6c-3d5a-4c1e-9ef6-380708b5fe7f"
      unitRef="usd">15234000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic65a1926b14248a4a5e94b0f208eefbe_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTAtNS0xLTEtNjY5MDQ_37147396-43aa-44f0-ac73-9602478c0f0d"
      unitRef="usd">8983000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i11939350145f4d89bbda184bdcff696d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTEtMS0xLTEtNjY5MDQ_23a5e562-7633-408f-801c-843ee5373d32"
      unitRef="usd">10578000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i11939350145f4d89bbda184bdcff696d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTEtMy0xLTEtNjY5MDQ_08b09349-32b7-4c99-8eb2-0abe55145510"
      unitRef="usd">7891000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i11939350145f4d89bbda184bdcff696d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTEtNS0xLTEtNjY5MDQ_bcfd5441-a9bf-4127-856b-101869e0a8ca"
      unitRef="usd">2687000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6bc61925e198478189818d2c0a656787_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTItMS0xLTEtNjY5MDQ_db7b5c48-9bb6-48e4-a626-1afce18066e9"
      unitRef="usd">710000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6bc61925e198478189818d2c0a656787_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTItMy0xLTEtNjY5MDQ_1992241a-da00-4754-8a34-03256008a6c6"
      unitRef="usd">492000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6bc61925e198478189818d2c0a656787_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTItNS0xLTEtNjY5MDQ_ce68b38e-8181-4385-96bd-450db047def9"
      unitRef="usd">218000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="icc28cdcff7d54a05a89b9ec624e65bff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTMtMS0xLTEtNjY5MDQ_e9259679-4e50-4a1c-a9f4-b10a2c0d013a"
      unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="icc28cdcff7d54a05a89b9ec624e65bff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTMtMy0xLTEtNjY5MDQ_4e72f041-0b96-416f-87d7-1e776d10cc4b"
      unitRef="usd">110000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="icc28cdcff7d54a05a89b9ec624e65bff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTMtNS0xLTEtNjY5MDQ_527710a9-1f45-4f5c-9b17-c07d071376f3"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTQtMS0xLTEtNjY5MDQ_7c90eced-3687-45b6-9d78-3bdb237f6cca"
      unitRef="usd">73675000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTQtMy0xLTEtNjY5MDQ_02a080c2-b251-471d-b005-388312316a25"
      unitRef="usd">61787000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjkyNTQ1MGU5N2E0YTQ4YTk4OGFhMDY1ZjE0ZDJlNjkxL3RhYmxlcmFuZ2U6OTI1NDUwZTk3YTRhNDhhOTg4YWEwNjVmMTRkMmU2OTFfMTQtNS0xLTEtNjY5MDQ_04404482-b8f7-44cd-baa2-a11d332e3160"
      unitRef="usd">11888000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RleHRyZWdpb246MmE0NjQ4OTRlMTdhNGUzNmE3ZmVjNjg3NWQ1NzUyYjVfMjI0_729d055b-15de-4fb8-8a11-2a33679c1672">&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 July&#160;3, 2022, 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 2022&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;1,613&#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;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;2,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;1,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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:#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 #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;10,226&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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfMS0yLTEtMS02NjkwNA_dbba1b23-6fcb-4a66-afc3-e3be61e1d8d3"
      unitRef="usd">1613000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfMi0yLTEtMS02NjkwNA_bc27aece-dacd-489b-9acc-997b6131e525"
      unitRef="usd">2594000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfMy0yLTEtMS02NjkwNA_2dddd77f-2c2c-47f4-b8c5-c671daa18748"
      unitRef="usd">2080000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNC0yLTEtMS02NjkwNA_858ded42-2a55-4267-930f-b395aea803f8"
      unitRef="usd">1757000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNS0yLTEtMS02NjkwNA_cd9fe040-1554-41d7-a08b-08eff3bed0f1"
      unitRef="usd">1452000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNi0yLTEtMS02NjkwNA_4cd9b732-69d2-47e2-b102-4fcbafdb19bd"
      unitRef="usd">730000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i767cb8f6150c4e9d82c347a690c6ebce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82MS9mcmFnOjJhNDY0ODk0ZTE3YTRlMzZhN2ZlYzY4NzVkNTc1MmI1L3RhYmxlOjZlYmU2YjJiM2NjZjQzNTdiN2Y5MWM0ZGNlODZlOWNhL3RhYmxlcmFuZ2U6NmViZTZiMmIzY2NmNDM1N2I3ZjkxYzRkY2U4NmU5Y2FfNy0yLTEtMS02NjkwNA_9f1e0178-0768-43d9-9951-861e7b70e872"
      unitRef="usd">10226000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RleHRyZWdpb246YzY0OTk1ZDFmMzZjNGQ2N2IzNmY2NmYyYmNkZTI3MDFfMTAxOQ_f3b04666-8da5-43f0-a866-a344825f242e">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, 2021&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,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;1,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;(1,461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 July 3, 2022&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,221&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="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RleHRyZWdpb246YzY0OTk1ZDFmMzZjNGQ2N2IzNmY2NmYyYmNkZTI3MDFfMTAyMw_ce34e8d5-6cf1-4d56-a109-98d179b3dbed">&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, 2021&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,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;1,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;(1,461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 July 3, 2022&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,221&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="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfMC0xLTEtMS02NjkwNA_126639bf-06c7-4ab0-ae50-5fffd4a71b37"
      unitRef="usd">5427000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfMS0xLTEtMS02NjkwNA_ef3adca5-ad7d-413e-b10a-ebe44b2ac515"
      unitRef="usd">1255000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfMi0xLTEtMS02NjkwNA_268d835a-32ba-497d-80f4-6b02c30f25ed"
      unitRef="usd">1461000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82NC9mcmFnOmM2NDk5NWQxZjM2YzRkNjdiMzZmNjZmMmJjZGUyNzAxL3RhYmxlOjNjMjRiZTI1NzFhYzRmNzBiMDE4MTg4ZGRlMzc5YzY4L3RhYmxlcmFuZ2U6M2MyNGJlMjU3MWFjNGY3MGIwMTgxODhkZGUzNzljNjhfNC0xLTEtMS02NjkwNA_8ce57a75-51c8-4cda-a03f-1983adbdb9c4"
      unitRef="usd">5221000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82Ny9mcmFnOjU3ZGU5NDMyYTBjMTRlNTg5NDMyZTNmOWM3NTI0MTdhL3RleHRyZWdpb246NTdkZTk0MzJhMGMxNGU1ODk0MzJlM2Y5Yzc1MjQxN2FfMTA3Mg_e605ab5a-2dfd-480d-a313-252398728536">Commitments and Contingencies&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 July&#160;3, 2022, the Company had outstanding purchase orders totaling $67,516,000 to procure inventory from various vendors, due in part to higher inventory purchases in response to global supply chain constraints. Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate primarily to expected sales in the next twelve months. The Company expects the level of outstanding purchase orders to increase for the remainder of the year as it replenishes inventories destroyed in the fire on June 7, 2022 at its primary contract manufacturer (refer to Note 17).&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;A significant portion of the Company's outstanding inventory purchase orders as of July&#160;3, 2022, as well as additional preauthorized commitments to procure strategic components based on the Company's expected customer demand, are placed with the Company's primary contract manufacturer for the Company's assembled products. The Company has the obligation to purchase any non-cancelable and non-returnable components that have been purchased by this contract manufacturer with the Company's preauthorization, when these components have not been consumed within the period defined in the terms of the Company's agreement with this contract manufacturer.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF82Ny9mcmFnOjU3ZGU5NDMyYTBjMTRlNTg5NDMyZTNmOWM3NTI0MTdhL3RleHRyZWdpb246NTdkZTk0MzJhMGMxNGU1ODk0MzJlM2Y5Yzc1MjQxN2FfMTA3_ee12b7f9-8ae1-496a-a806-6ecc7cb4f3bd"
      unitRef="usd">67516000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQxNw_8a2c5eff-d4ba-404e-8ad1-6045f893e0df">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 that do not exceed approximately three months 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;July 3, 2022&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, 2021&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;75,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;78,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;73,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;183,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;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;220,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;10,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,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;6,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;650,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;4,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;British Pound&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;Hungarian Forint&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,355,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;3,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,355,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;4,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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: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:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,270,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;3,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;&#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;1,480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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;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.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.397%"/&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:11.784%"/&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:8.709%"/&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:11.784%"/&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.227%"/&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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 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: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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 2021&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;/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;46&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;425&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;230&#160;&lt;/span&gt;&lt;/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 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.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.008%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.824%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.824%"/&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:21.008%"/&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:11.345%"/&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.227%"/&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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 2021&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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 #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;46&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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 #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;425&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;230&#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;46&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;39&#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;425&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;230&#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:20.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.636%"/&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.788%"/&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.788%"/&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.788%"/&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.797%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:19pt"&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: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="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;Six-months Ended&lt;/span&gt;&lt;/td&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" 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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&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;/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="21" 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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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;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;6,191&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;(746)&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: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;7,930&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;2,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1
      contextRef="i5ed2d698c5654399a4ae6621b9ba3d32_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQyMg_0397e6ec-dd68-4f54-a8bb-e8eab4a2eb35">P3M</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
    <cgnx:OutstandingForwardContractsTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTM5MA_9acb77a5-057c-40be-9143-c160e46306bc">&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;July 3, 2022&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, 2021&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;75,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;78,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,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;73,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;183,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;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;220,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;10,839&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,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;6,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;650,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;4,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;British Pound&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;Hungarian Forint&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,355,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;3,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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,355,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;4,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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: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:#ffffff;padding:2px 0 2px 1pt;text-align:right;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,270,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;3,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;&#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;1,480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" 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="i9fa85bdefdff42b182c42ff1a49c0610_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy0xLTEtMS02NjkwNA_be9b69c4-6dde-41b3-9a90-9e5dd87b98bc"
      unitRef="eur">75000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i9fa85bdefdff42b182c42ff1a49c0610_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy0zLTEtMS02NjkwNA_36bb991f-c32f-4362-83a6-f9aac05d323f"
      unitRef="usd">78329000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ifdbdd17085324d549fa107fc051eee2a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy01LTEtMS02NjkwNA_bd934502-75ec-4c8e-b9c1-4f8bc63290b2"
      unitRef="eur">65000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ifdbdd17085324d549fa107fc051eee2a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMy03LTEtMS02NjkwNA_f2b8b294-119e-4063-b6cf-8975339b32c6"
      unitRef="usd">73748000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ia2373098eccd4042913f057bdac9f573_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC0xLTEtMS02NjkwNA_efd3735b-10be-4858-b562-56513a1af6b5"
      unitRef="cny">183500000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ia2373098eccd4042913f057bdac9f573_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC0zLTEtMS02NjkwNA_2a88b4a6-710c-4539-999b-1ad21b3c79f5"
      unitRef="usd">27377000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ia7bd15dac48b41a5aafff143d3d3b990_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC01LTEtMS02NjkwNA_e4e4a8e3-9dbc-4ab0-8b5d-6902ce180f30"
      unitRef="cny">54374000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="ia7bd15dac48b41a5aafff143d3d3b990_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNC03LTEtMS02NjkwNA_01fe7cc0-3931-45bc-88cf-9fdbdc074e41"
      unitRef="usd">8500000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i16449076a6654af28335ac2a8cab60f3_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS0xLTEtMS02NjkwNA_c276f7ca-2f63-4774-a66c-99272c4ea78e"
      unitRef="mxn">220000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i16449076a6654af28335ac2a8cab60f3_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS0zLTEtMS02NjkwNA_83fb33b0-15ce-44f3-b921-3c167147865f"
      unitRef="usd">10839000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i9b2ffed476df4579bbcc38a25e1d8db9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS01LTEtMS02NjkwNA_0ed9d7ed-244f-4e88-89c3-7d72531ea06b"
      unitRef="mxn">140000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i9b2ffed476df4579bbcc38a25e1d8db9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNS03LTEtMS02NjkwNA_dd87e9c0-9559-40d0-8c39-b7b132f5d161"
      unitRef="usd">6842000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i7524ddb9ea03422a9e7e2ebbea77de0a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy0xLTEtMS02NjkwNA_a2768f14-a155-4b1e-b8fb-f97c201ee984"
      unitRef="jpy">650000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i7524ddb9ea03422a9e7e2ebbea77de0a_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy0zLTEtMS02NjkwNA_70d40bdd-ccb9-4f14-b9c7-cbd270951412"
      unitRef="usd">4789000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i694f091dcec34812bad0480464436d7e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy01LTEtMS02NjkwNA_4ee1bf60-07b6-45dd-a372-38e4b15b3b59"
      unitRef="jpy">600000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i694f091dcec34812bad0480464436d7e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfNy03LTEtMS02NjkwNA_70ca2ee4-fdba-4158-8dd2-cc2e2ef42cf6"
      unitRef="usd">5213000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i342a922d9dc945a18b79c96091725dbe_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC0xLTEtMS02NjkwNA_20fd0ad4-176d-41f3-a12f-81ce2855ebec"
      unitRef="gbp">3150000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i342a922d9dc945a18b79c96091725dbe_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC0zLTEtMS02NjkwNA_c0e4e677-9d2b-4676-8ae6-44b86d0ad3e1"
      unitRef="usd">3833000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i49f516875e854bad8e4721d0f3ca17ec_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC01LTEtMS02NjkwNA_2954c8ef-6729-4d24-a92b-aab3be2ff9e0"
      unitRef="gbp">3370000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i49f516875e854bad8e4721d0f3ca17ec_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOC03LTEtMS02NjkwNA_22868895-5a41-4064-b089-e87b0958feeb"
      unitRef="usd">4552000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i836accfb1dd045f7b2f92c71a31a58dc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS0xLTEtMS02NjkwNA_a5b2fdce-4227-42ef-8028-9cf1c149bf52"
      unitRef="huf">1355000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i836accfb1dd045f7b2f92c71a31a58dc_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS0zLTEtMS02NjkwNA_a4a66b68-41cd-4491-9ef3-651dfff9d731"
      unitRef="usd">3552000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i16d30d88657e4f6fa4e81e6bf35d1667_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS01LTEtMS02NjkwNA_995a2358-e0f9-40f2-971a-49b0d57fd030"
      unitRef="huf">1355000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i16d30d88657e4f6fa4e81e6bf35d1667_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfOS03LTEtMS02NjkwNA_4f21048c-de20-4bde-a857-a73db354d544"
      unitRef="usd">4155000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i4c3c2ddb2e4f4ea28a57f2f21cf87318_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMS0xLTEtNzAzNzU_245115cc-71d3-4884-8075-c1aff5a7a665"
      unitRef="krw">4270000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i4c3c2ddb2e4f4ea28a57f2f21cf87318_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMy0xLTEtNzAzNzU_28e669c6-6f07-4abc-94a3-13fb822653fd"
      unitRef="usd">3302000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i70b292f313584022a002a1ecdb38404c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNS0xLTEtNzAzNzU_e85a47cf-8f53-4355-a4a9-9adf110a312a"
      unitRef="krw">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i70b292f313584022a002a1ecdb38404c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNy0xLTEtNzAzNzU_6010f80b-29c5-4940-820c-9043e859e96e"
      unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="idda92086fdb9495aab36454165488471_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMS0xLTEtNjY5MDQ_1f59df45-4570-4c41-b3ab-d87c5b24aed2"
      unitRef="cad">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="idda92086fdb9495aab36454165488471_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItMy0xLTEtNjY5MDQ_e3889429-6139-4a5d-9149-98472dd0139f"
      unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i79fff7c6f7fd44179dd1404b9e10abd4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNS0xLTEtNjY5MDQ_342ff720-7152-4360-80bf-1422d6502293"
      unitRef="cad">1480000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="i79fff7c6f7fd44179dd1404b9e10abd4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjkyNjM4NDJlM2E2MTQ5NDE4YTQxMDlmZDZlY2FmZjZkL3RhYmxlcmFuZ2U6OTI2Mzg0MmUzYTYxNDk0MThhNDEwOWZkNmVjYWZmNmRfMTItNy0xLTEtNjY5MDQ_2f760963-1e29-468a-a682-a312e0b56957"
      unitRef="usd">1167000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQwOA_2a953af5-daea-4b77-8e37-ff6cd49ecd5c">&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.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.397%"/&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:11.784%"/&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:8.709%"/&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:11.784%"/&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.227%"/&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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 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: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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 2021&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;/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;46&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;425&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;230&#160;&lt;/span&gt;&lt;/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="ia01ad5e1b05d46d98499861900f21876_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi0zLTEtMS02NjkwNA_56eb54c3-e232-408f-bbce-c958a40d48f6"
      unitRef="usd">46000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ia6e6eeba1e7e4dd0ae015dd36d06a158_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi01LTEtMS02NjkwNA_981821ed-3789-4931-88c0-16c9c1c09594"
      unitRef="usd">39000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeLiabilities
      contextRef="i67a2d9e07ca9441c89ab9480183f02ce_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi05LTEtMS02NjkwNA_68e238f8-479e-4fc6-88c9-71621703dcd8"
      unitRef="usd">425000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i0c76d424fd3d4d51b9e63fe42350111e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjE3ZDMyMzE0M2M5NzQ3NmVhMDQzMDE5NmQ3MTI5NzliL3RhYmxlcmFuZ2U6MTdkMzIzMTQzYzk3NDc2ZWEwNDMwMTk2ZDcxMjk3OWJfNi0xMS0xLTEtNjY5MDQ_d53304bd-f31d-476c-a813-ad40e4dad261"
      unitRef="usd">230000</us-gaap:DerivativeLiabilities>
    <us-gaap:OffsettingAssetsTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTM5Mw_7c8df972-623d-4dc8-bbd1-84fb024b0b2a">&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.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.008%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.824%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.824%"/&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:21.008%"/&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:11.345%"/&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.227%"/&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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 2021&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;July 3,           2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-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, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 #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;46&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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 #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;425&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;230&#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;46&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;39&#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;425&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;230&#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="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi0yLTEtMS02NjkwNA_4303c42e-215c-4b97-b66c-9e2fed1f0a89"
      unitRef="usd">46000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi00LTEtMS02NjkwNA_ceffc9fc-d330-4ba1-aa74-4e28ff6f34d2"
      unitRef="usd">39000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi04LTEtMS02NjkwNA_13320efe-56ec-438a-950d-5e42ab2232dd"
      unitRef="usd">425000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMi0xMC0xLTEtNjY5MDQ_3f7b78db-e889-4eaf-bd0c-a7b1fef8cb57"
      unitRef="usd">230000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy0yLTEtMS02NjkwNA_5b0c106a-97d5-4d88-acf3-a6c6c3995fd3"
      unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
    <us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy00LTEtMS02NjkwNA_6efefe06-f08e-4f23-af9c-3e0f804b70a4"
      unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
    <us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy04LTEtMS02NjkwNA_37f7636a-1bb7-4d89-a854-4ee04285a7d2"
      unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
    <us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfMy0xMC0xLTEtNjY5MDQ_8d96a0b4-d116-4175-8227-211673936955"
      unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
    <us-gaap:DerivativeAssets
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC0yLTEtMS02NjkwNA_e2dfac1f-0d17-4cae-aaf6-170491dd7721"
      unitRef="usd">46000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC00LTEtMS02NjkwNA_b0ce1946-5556-4e91-9da1-fe64a67395ba"
      unitRef="usd">39000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeLiabilities
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC04LTEtMS02NjkwNA_5fe68a29-3a1c-4e12-813e-ec4ef881a072"
      unitRef="usd">425000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjNhZTZhOTY0MDFlOTQ1YmY5YTZhNjU5YWJkMzEzODU3L3RhYmxlcmFuZ2U6M2FlNmE5NjQwMWU5NDViZjlhNmE2NTlhYmQzMTM4NTdfNC0xMC0xLTEtNjY5MDQ_ad15bf23-b9c8-4030-a18a-074a0247ced1"
      unitRef="usd">230000</us-gaap:DerivativeLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RleHRyZWdpb246NWMwMDMwNTVlOWZjNDkxYjg4YjBkMzRkN2FiNDYwNGVfMTQyMQ_914538ee-62a5-4cbd-b1be-ed8405b7807d">&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:20.683%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.636%"/&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.788%"/&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.788%"/&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.788%"/&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.797%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:19pt"&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: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="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;Six-months Ended&lt;/span&gt;&lt;/td&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" 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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&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;/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="21" 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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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;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;6,191&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;(746)&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: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;7,930&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;2,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i18e6ad545650414ba0427bb15f1f40ed_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtMy0xLTEtNjY5MDQ_200d0c2a-a8b4-4550-b800-b7bb5611a43c"
      unitRef="usd">6191000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i176845b2165d4c1c901c94617d33fad0_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtNS0xLTEtNjY5MDQ_d750ee85-3923-4063-a1d1-adcc82f5b7cc"
      unitRef="usd">-746000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i7fa5c02f551b4853a9ded76fc71fbb81_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtNy0xLTEtNjY5MDQ_32302537-69bd-4397-b0bd-4b0feed01f68"
      unitRef="usd">7930000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="i1272258b978247acad7cabc4e78fe7f3_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83MC9mcmFnOjVjMDAzMDU1ZTlmYzQ5MWI4OGIwZDM0ZDdhYjQ2MDRlL3RhYmxlOjQwMzZlN2NmYzQ0NjRjNGE5NGZmOWU3N2Q2ZDY0MzQyL3RhYmxlcmFuZ2U6NDAzNmU3Y2ZjNDQ2NGM0YTk0ZmY5ZTc3ZDZkNjQzNDJfMTAtOS0xLTEtNjY5MDQ_6649b92d-871b-4a8f-a93e-0def057209d0"
      unitRef="usd">2148000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYyMQ_7d466c58-a04e-4413-b82a-662e48c71689">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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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="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;Six-months Ended&lt;/span&gt;&lt;/td&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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 4, 2021&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;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;91,551&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;108,418&#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;218,210&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;216,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;61,840&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;59,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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;124,631&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;117,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;/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;78,616&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;59,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 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;127,021&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;97,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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;42,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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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;87,173&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;76,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;274,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:#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;269,158&#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;557,035&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;508,185&#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&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.139%"/&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.823%"/&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.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding: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="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;Six-months Ended&lt;/span&gt;&lt;/td&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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 4, 2021&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;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;221,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:#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;234,322&#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;479,354&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;456,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;53,154&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;34,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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;77,681&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;51,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;274,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:#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;269,158&#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;557,035&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;508,185&#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: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;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,428,000 and $10,854,000 as of July&#160;3, 2022 and December&#160;31, 2021, 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;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: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 allowance for credit losses activity for the six-month period ended July&#160;3, 2022 (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, 2021&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;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="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 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, net of recoveries&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;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of July 3, 2022&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: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;741&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;&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 six-month period ended July&#160;3, 2022 (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, 2021&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;35,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;69,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 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;(28,557)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;(1,635)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 July 3, 2022&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;75,385&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: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 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="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYyNg_aeb48012-862d-4309-b34c-181ebe942bb2">&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.527%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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="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;Six-months Ended&lt;/span&gt;&lt;/td&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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 4, 2021&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;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;91,551&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;108,418&#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;218,210&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;216,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;61,840&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;59,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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;124,631&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;117,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;/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;78,616&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;59,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 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;127,021&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;97,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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;42,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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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;87,173&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;76,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;274,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:#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;269,158&#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;557,035&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;508,185&#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:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id4f60b94102045c6ad876f25645533fe_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi0yLTEtMS02NjkwNA_54502a89-7ff7-45dc-81c0-aec9dec30bb8"
      unitRef="usd">91551000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5e00f0f2c2a9479fb066f3d76f8a2c84_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi00LTEtMS02NjkwNA_cba09685-a28f-41fa-9f4e-f8e764cac5d7"
      unitRef="usd">108418000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i777b159c8c91485d8eb5cb5873eb63b5_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi02LTEtMS02NjkwNA_1f99888d-02ca-4328-979a-f2f286b6c154"
      unitRef="usd">218210000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i95cc2e2c61c641eba1a24245b544a319_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMi04LTEtMS02NjkwNA_79d42c6e-d633-4b16-af41-e09cc84b1412"
      unitRef="usd">216254000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bd033c483ca483eaac86097ba325f9e_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy0yLTEtMS02NjkwNA_721450a9-39da-4aff-9832-7d65d24671f4"
      unitRef="usd">61840000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia6f5c8235eff4f5989c9928eaa8b4c8e_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy00LTEtMS02NjkwNA_a2f206ca-5211-4b27-ae5a-758f98645bb8"
      unitRef="usd">59967000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id8590e74013144c096fe7894310c039a_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy02LTEtMS02NjkwNA_567581c1-a507-4b1e-a7a4-c98262407d5c"
      unitRef="usd">124631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3bacc758d8af43adb630bc7b3e695554_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfMy04LTEtMS02NjkwNA_a44424a3-95b7-4eef-bbe9-7a7d151ccf3a"
      unitRef="usd">117015000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i44a323570a09492eb9272094386565b0_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC0yLTEtMS02NjkwNA_0881605b-c5ae-4bae-ad5a-24bc5f941951"
      unitRef="usd">78616000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i818f46ae4a814e8cb204092b2c400112_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC00LTEtMS02NjkwNA_e3a16345-954d-4905-b244-a34fa5e884ab"
      unitRef="usd">59706000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2adf86e363104a67a322b83f32ddb221_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC02LTEtMS02NjkwNA_43bcefae-139d-4687-8813-c99d60e4ee7e"
      unitRef="usd">127021000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02a9248fc6ed45c1bc7e6a58688914bf_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNC04LTEtMS02NjkwNA_a4519657-78d6-4d94-9404-39c629753467"
      unitRef="usd">97944000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i771400f31d514be59ce14adb1d6bd67b_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS0yLTEtMS02NjkwNA_0d8716f8-14ec-44e2-9fe2-a12731dd00fc"
      unitRef="usd">42621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2138393603c64ae789977c365f3dbd67_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS00LTEtMS02NjkwNA_8a7ca787-5f90-4845-99ec-cbfc15693aed"
      unitRef="usd">41067000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b77a45a38054361bcd9f10ab8bd4790_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS02LTEtMS02NjkwNA_ef59136c-9b30-4c5a-b57b-45e713d6637a"
      unitRef="usd">87173000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i28af0bfc503d464a8bef9493117c1298_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNS04LTEtMS02NjkwNA_e76f3c51-c262-4547-8c77-978ea6093421"
      unitRef="usd">76972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi0yLTEtMS02NjkwNA_79e179ff-7ed5-45fa-a800-3f3f987c8570"
      unitRef="usd">274628000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi00LTEtMS02NjkwNA_3252ee9f-96c8-47a2-9842-bfc14d1045ca"
      unitRef="usd">269158000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi02LTEtMS02NjkwNA_618233a4-ce4d-43c0-b0e2-475293110a36"
      unitRef="usd">557035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc5YzhlZjNkNjRmNjQ0MjZhNDk2OTEyN2VhOTU0ODk3L3RhYmxlcmFuZ2U6NzljOGVmM2Q2NGY2NDQyNmE0OTY5MTI3ZWE5NTQ4OTdfNi04LTEtMS02NjkwNA_b6a00afc-b361-415d-a675-89555d022de5"
      unitRef="usd">508185000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYyMA_3e03f580-2f97-4405-acc0-eea16aee837f">&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:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.402%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.139%"/&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.823%"/&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.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding: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="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;Six-months Ended&lt;/span&gt;&lt;/td&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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;July 4, 2021&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;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;221,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:#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;234,322&#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;479,354&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;456,648&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;53,154&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;34,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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;77,681&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;51,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;274,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:#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;269,158&#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;557,035&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;508,185&#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:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7a8bd57825f24189a82dd02689b07a55_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi0yLTEtMS02NjkwNA_9f716cad-74f8-4234-9cdf-1f7ee1cfe506"
      unitRef="usd">221474000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i150e9eb565d14f4186103419982ce020_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi00LTEtMS02NjkwNA_28ed1581-d4ec-46b0-afd4-7fbf76f90621"
      unitRef="usd">234322000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic15a144c421442a39f97514efaaef2d9_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi02LTEtMS02NjkwNA_37acdc75-69d2-4f71-8ec6-3e7c957acc95"
      unitRef="usd">479354000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0140928aa4fb4494a1b8065f16095c6a_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMi04LTEtMS02NjkwNA_b7e81c5a-0c7a-4ae7-8ee0-f5309427c255"
      unitRef="usd">456648000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8e33f30c2a3546e3b5dc6c1e8b2fecfc_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy0yLTEtMS02NjkwNA_8fb2630a-9f6f-4d46-bfd8-ba1f5fb4ad4d"
      unitRef="usd">53154000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie716208e6b8a4ee2aa85f512b7063433_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy00LTEtMS02NjkwNA_5eb79744-0f78-466a-940a-8af24129cb0b"
      unitRef="usd">34836000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iad1acd10cd6c4dcfbfda07e457ab8a11_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy02LTEtMS02NjkwNA_3f4ac71a-88ce-4018-a041-6b487d99bc5d"
      unitRef="usd">77681000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iba9d5c6fad14402da663de45347311a7_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfMy04LTEtMS02NjkwNA_21c059af-e275-431b-baaa-319a1111ee08"
      unitRef="usd">51537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC0yLTEtMS02NjkwNA_888fb379-b07a-4db3-b3ac-2eb3d004fd9b"
      unitRef="usd">274628000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC00LTEtMS02NjkwNA_e9868498-6934-4720-8d6f-afc66ff08bcf"
      unitRef="usd">269158000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC02LTEtMS02NjkwNA_613cadf1-8f64-4c3c-ad2e-9e9d00366a8e"
      unitRef="usd">557035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjc4ZjliMGJjOWFhNDQyYTBiNDAzNmU5OTBlMmQzM2RmL3RhYmxlcmFuZ2U6NzhmOWIwYmM5YWE0NDJhMGI0MDM2ZTk5MGUyZDMzZGZfNC04LTEtMS02NjkwNA_f6e37879-ce7b-4512-8337-8eaec90dfbc6"
      unitRef="usd">508185000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CapitalizedContractCostGross
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfNDQ4_ff9a2d81-d766-4cff-a11e-788f21d674b6"
      unitRef="usd">14428000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:CapitalizedContractCostGross
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfNDU1_d5f0dd6e-63b9-453a-9278-83f3e342eff9"
      unitRef="usd">10854000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYxMg_480244fd-58ff-472b-b2de-3e6c905cf072">&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 allowance for credit losses activity for the six-month period ended July&#160;3, 2022 (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, 2021&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;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="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 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, net of recoveries&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;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of July 3, 2022&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: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;741&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:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfMC0xLTEtMS02NjkwNA_9698539c-73c6-4f6a-8ea2-adb99275eed7"
      unitRef="usd">776000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfMi0xLTEtMS02NjkwNA_4d4f79f6-a14d-4871-af5f-13a217e0cd06"
      unitRef="usd">36000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <cgnx:AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfMy0xLTEtMS02NjkwNA_514fc1d8-0a0f-4ebf-885d-e76621bac216"
      unitRef="usd">1000</cgnx:AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOmVjMjA5NjFlMGY4ZTRiOTRhYTljZmI1NTA2ZTZkNGE3L3RhYmxlcmFuZ2U6ZWMyMDk2MWUwZjhlNGI5NGFhOWNmYjU1MDZlNmQ0YTdfNC0xLTEtMS02NjkwNA_e6660e89-bc8a-48c4-9c4f-a98837aebaf9"
      unitRef="usd">741000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RleHRyZWdpb246ODk3NDI4NGQ2MmVmNDZlNWFjOWZhZTE0YWVlNWUxOGRfMTYxOQ_1a6d6da4-5e60-4e7b-90b4-b78b6350e268">&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 six-month period ended July&#160;3, 2022 (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, 2021&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;35,743&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;69,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 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;(28,557)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;(1,635)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 July 3, 2022&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;75,385&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="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMC0xLTEtMS02NjkwNA_9f278f16-fe5e-4860-8745-2607a4653aa2"
      unitRef="usd">35743000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenueAdditions
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMS0xLTEtMS02NjkwNA_28aab820-a27a-4684-aa5c-fda4cb22d251"
      unitRef="usd">69834000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMi0xLTEtMS02NjkwNA_a492c502-433b-4a7b-b183-5e3efe4ad55e"
      unitRef="usd">28557000</us-gaap:DeferredRevenueRevenueRecognized1>
    <cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfMy0xLTEtMS02NjkwNA_9c53877b-1e99-4789-a62a-70db59dcbb52"
      unitRef="usd">-1635000</cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment>
    <us-gaap:DeferredRevenue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83My9mcmFnOjg5NzQyODRkNjJlZjQ2ZTVhYzlmYWUxNGFlZTVlMThkL3RhYmxlOjZhM2JlYWFhNWZkZDRkOGZhYTcwZTU4YTg2NmYwYWI0L3RhYmxlcmFuZ2U6NmEzYmVhYWE1ZmRkNGQ4ZmFhNzBlNThhODY2ZjBhYjRfNC0xLTEtMS02NjkwNA_5dfdb29f-f40d-4f36-8cb4-3f61e5ab330f"
      unitRef="usd">75385000</us-gaap:DeferredRevenue>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgzMg_45d190ce-bf7d-44ea-8b34-bed95d5e6bd6">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, restricted stock units ("RSUs"), and performance restricted stock units ("PRSUs"). As of July&#160;3, 2022, the Company had 14,250,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:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDYz_479ba460-4060-4086-876a-0865345b6fc3"&gt;four&lt;/span&gt; or five years based upon continuous service and expire ten years from the grant date. RSUs generally vest upon &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTYy_f863b510-2a78-488d-8403-50be5577f26c"&gt;three&lt;/span&gt; or four years of continuous employment or incrementally over such &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjMx_51c90430-0b7a-490b-80b1-cce809ba937e"&gt;three&lt;/span&gt; or four-year period. PRSUs generally vest upon three years of continuous employment and achievement of performance criteria established by the Compensation Committee of our Board of Directors on or prior to the grant date. Participants are not entitled to dividends on RSUs or PRSUs.&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 six-month period ended July&#160;3, 2022:&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, 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:400;line-height:100%"&gt;7,610&#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;49.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;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;1,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;(133)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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.66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(118)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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 July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,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;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;51.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:#cceeff;padding:2px 1pt 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;6.47&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;26,951&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 July 3, 2022&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;4,347&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;43.46&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.30&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;26,615&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 July 3, 2022 (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,927&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;50.45&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;6.36&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;26,938&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:38.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="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;Six-months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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.9&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.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1.9&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.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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.53&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.31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#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="2" style="background-color:#ffffff;padding:2px 0 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.40&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.27&#160;&lt;/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;/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;37&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;37&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;6.1&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:700;line-height:100%"&gt;7.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;5.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;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.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'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 and six-month periods ended July&#160;3, 2022 were $18.21 and $22.33, respectively, and during the three-month and six-month periods ended July&#160;4, 2021 were $32.07 and $33.47, 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 and six-month periods ended July&#160;3, 2022 were $934,000 and 3,099,000, respectively, and for the three-month and six-month periods ended July&#160;4, 2021 were $11,621,000 and $53,948,000, respectively. The total fair values of stock options vested for the three-month and six-month periods ended July&#160;3, 2022 were $1,188,000 and $26,723,000, respectively, and for the three-month and six-month periods ended July&#160;4, 2021 were $1,830,000 and $37,430,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 six-month period ended July&#160;3, 2022: &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, 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:400;line-height:100%"&gt;823&#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;65.26&#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;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81.31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 July 3, 2022&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;1,194&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.47&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: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 RSUs is determined based on the observable market price of the Company's stock on the grant date less the present value of expected future dividends. The weighted-average grant-date fair values of RSUs granted during the three-month and six-month periods ended July&#160;3, 2022 were $45.25 and $63.37, respectively, and during the three-month and six-month periods ended July&#160;4, 2021 were $75.98 and $87.46, respectively. There were 20,000 and 74,000 RSUs that vested during the three-month and six-month periods ended July&#160;3, 2022, respectively, and 13,000 and 15,000 that vested during the three-month and six-month periods ended July&#160;4, 2021, 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;Performance Restricted Stock Units (PRSUs)&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 PRSUs activity for the six-month period ended July&#160;3, 2022: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.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, 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:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 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;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 July 3, 2022&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;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;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;62.49&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: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;No PRSUs were granted or vested during the three-month period ended July&#160;3, 2022. No PRSUs were granted or vested during the three-month and six-month periods ended July&#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 fair value of PRSUs is calculated using the Monte Carlo simulation model to estimate the probability of satisfying the service and market conditions stipulated in the award grant.&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 stratifies 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 7% 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 an increase to compensation expense of $1,536,000 in 2022 and a decrease to compensation expense of $255,000 in 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;As of July&#160;3, 2022, total unrecognized compensation expense related to non-vested equity awards, including stock options, RSUs and PRSUs, was $69,142,000, which is expected to be recognized over a weighted-average period of 1.6 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 July&#160;3, 2022 were $12,997,000 and $2,044,000, respectively, and for the six-month period ended July&#160;3, 2022 were $28,053,000 and $4,363,000, respectively. The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended July&#160;4, 2021 were $10,730,000 and $1,651,000, respectively, and for the six-month period ended July&#160;4, 2021 were $22,739,000 and $3,464,000, respectively. No compensation expense was capitalized as of July&#160;3, 2022 or December&#160;31, 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 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:38.812%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.941%"/&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="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="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;Six-months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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;482&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;351&#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;1,045&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;599&#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;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;3,851&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,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 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,299&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;7,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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;8,664&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;7,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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,709&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;15,073&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 #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,997&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;10,730&#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;28,053&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;22,739&#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:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i50b08d1bb8224935990751e82757056b_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjYz_09a41876-141f-4023-bc63-4e5a3f17d334"
      unitRef="shares">14250000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ibae5c310637e4bfa9f95ec32256ec6c0_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDY5_0325c9d6-e2b6-4ffa-a36d-0ca99f306fb6">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <cgnx:ExpirationPeriodOfStockOptionPlan
      contextRef="i3426b909ccd04c8ba713ede457d177a9_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTEz_ed0b275d-b0a3-4a58-b940-fa2b6042c305">P10Y</cgnx:ExpirationPeriodOfStockOptionPlan>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i750305d77ecc41889121d69470997f2c_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzNDE1NQ_e166b237-eaf3-43e9-841e-7bb0f071f0ba">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i750305d77ecc41889121d69470997f2c_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTI2NDQzODM3MjYwMTg_7becc1f4-05f0-4e33-ab4b-9fc45f7fb553">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNjgx_18eb5cd8-81b1-4419-a5bb-2f2d53857628">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDc5OQ_800bf686-a55c-4646-8fad-c45733b325c1">&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 six-month period ended July&#160;3, 2022:&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, 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:400;line-height:100%"&gt;7,610&#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;49.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;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;1,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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;(133)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;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.66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;(118)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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 July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;8,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;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;51.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:#cceeff;padding:2px 1pt 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;6.47&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;26,951&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 July 3, 2022&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;4,347&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;43.46&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.30&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;26,615&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 July 3, 2022 (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,927&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;50.45&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;6.36&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;26,938&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="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMS0xLTEtMS02NjkwNA_766b051b-a1f5-472a-97ba-d63623cd9545"
      unitRef="shares">7610000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMS0zLTEtMS02NjkwNA_a6aa2ec1-5cdc-4330-83f6-324d07dbda79"
      unitRef="usdPerShare">49.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMi0xLTEtMS02NjkwNA_d87bc650-480e-4e00-bd55-71c786aec464"
      unitRef="shares">1030000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMi0zLTEtMS02NjkwNA_df864936-a0bb-40ee-82c2-81c44dd75ee7"
      unitRef="usdPerShare">64.02</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMy0xLTEtMS02NjkwNA_c5b86fff-de54-40c8-ac16-736dedfd4ac2"
      unitRef="shares">133000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfMy0zLTEtMS02NjkwNA_acca86fa-0a64-4b53-84db-d8cbbcf862dd"
      unitRef="usdPerShare">44.66</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNC0xLTEtMS02NjkwNA_a8b5ad36-da00-497d-9a38-b9c9a44fce00"
      unitRef="shares">118000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNC0zLTEtMS02NjkwNA_3e951d2f-4967-4d4c-9063-9d5e4abb54df"
      unitRef="usdPerShare">59.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS0xLTEtMS02NjkwNA_f579eda5-1492-4069-9fd6-10d5d4897dec"
      unitRef="shares">8389000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS0zLTEtMS02NjkwNA_52359f67-eb71-4f41-95ce-79e37d072c48"
      unitRef="usdPerShare">51.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS01LTEtMS02NjkwNA_b681df62-8cef-4324-9a5b-9eb11a633fff">P6Y5M19D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNS03LTEtMS02NjkwNA_50e0ad47-8fb7-4ffc-a593-0d4dbee6575d"
      unitRef="usd">26951000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi0xLTEtMS02NjkwNA_78b66f8d-28b2-4cb2-9121-4bc0e7b1a138"
      unitRef="shares">4347000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi0zLTEtMS02NjkwNA_b6e21423-c1b6-4f12-bc93-1095ef40b215"
      unitRef="usdPerShare">43.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi01LTEtMS02NjkwNA_e6055d87-0508-420b-b930-df9cca6e45e8">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNi03LTEtMS02NjkwNA_f48524a1-8437-4ed3-8b2e-f6002b5c514d"
      unitRef="usd">26615000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy0xLTEtMS02NjkwNA_6db2a4c9-8a5f-4a84-b8c3-d3a9bc2827dc"
      unitRef="shares">7927000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy0zLTEtMS02NjkwNA_52d91d0c-4223-445f-9aa3-413ff7b1ffbf"
      unitRef="usdPerShare">50.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy01LTEtMS02NjkwNA_a5efb9db-54d2-4cbf-adf4-228ecd4b3adb">P6Y4M9D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjViZjk0MTIzMjk3MzQ0ZjI5ZThjOWE2ZThhOGI0MzIxL3RhYmxlcmFuZ2U6NWJmOTQxMjMyOTczNDRmMjllOGM5YTZlOGE4YjQzMjFfNy03LTEtMS02NjkwNA_1e86a792-b8b1-4937-8811-ef4f32984213"
      unitRef="usd">26938000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgwNA_365bfa1a-1142-469f-92a1-f24bec307a11">&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:38.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="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;Six-months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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.9&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.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;1.9&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.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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.53&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.31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#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="2" style="background-color:#ffffff;padding:2px 0 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.40&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.27&#160;&lt;/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;/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;37&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;37&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;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;6.1&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:700;line-height:100%"&gt;7.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;5.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;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.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi0xLTEtMS02NjkwNA_e3c3c3b4-1f98-4fa3-8b4f-26959f22fa76"
      unitRef="number">0.019</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi0zLTEtMS02NjkwNA_df45cf16-87f8-410f-9572-798114855e79"
      unitRef="number">0.015</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi01LTEtMS02NjkwNA_4e2749f8-d565-4856-81ba-04923ae94e15"
      unitRef="number">0.019</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMi03LTEtMS02NjkwNA_eb249d82-f6c6-4ebb-ac16-f3069a8d6012"
      unitRef="number">0.013</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy0xLTEtMS02NjkwNA_6b23d292-a469-41b3-b153-c3e8969e657e"
      unitRef="number">0.0053</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy0zLTEtMS02NjkwNA_8b60f381-3363-470f-840d-9e18a1f77f64"
      unitRef="number">0.0031</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy01LTEtMS02NjkwNA_9398eaec-380d-4dea-885e-fbd5470a1d95"
      unitRef="number">0.0040</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfMy03LTEtMS02NjkwNA_2bb1fd3b-c22b-4654-a353-ca6f094ba706"
      unitRef="number">0.0027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC0xLTEtMS02NjkwNA_d1bb08d8-2336-4e42-93ab-8bda8aa5f4db"
      unitRef="number">0.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC0zLTEtMS02NjkwNA_ea210310-1397-4c35-b86e-c742b2e22228"
      unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC01LTEtMS02NjkwNA_b0a55d03-dfb3-49bd-a6cd-6264c15bff0c"
      unitRef="number">0.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNC03LTEtMS02NjkwNA_c95f4d7e-b70e-4fba-8466-f42a044f78da"
      unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS0xLTEtMS02NjkwNA_f5caac41-8711-464b-ade4-25501ae47d37">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS0zLTEtMS02NjkwNA_e19b7907-d5f0-4656-b303-1bfea4d78ec8">P7Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS01LTEtMS03MjI3MQ_7b3d45b0-2fb7-4b19-b820-25c73aea09bd">P5Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjRkNWJhYWYyNTA2NDRiNGU4OTZiMDZlNzA3MjFkMjllL3RhYmxlcmFuZ2U6NGQ1YmFhZjI1MDY0NGI0ZTg5NmIwNmU3MDcyMWQyOWVfNS03LTEtMS02NzU4Mg_13f33b7a-b97e-4f4d-992f-444eb0086a09">P5Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjI1MQ_9574e5a4-3dff-48a5-af12-88a8d43d159d"
      unitRef="usdPerShare">18.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjI1OA_c0130a5d-2b16-4b88-aeb4-6e0bdfb63103"
      unitRef="usdPerShare">22.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjgyOQ_255fb8c5-1b76-43fc-9017-8359be44f8fe"
      unitRef="usdPerShare">32.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjgzNw_bf6d1953-49e2-40cf-8aa8-a771e02a5de2"
      unitRef="usdPerShare">33.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjM3OQ_78a76353-3638-4451-9669-97f6e38ba631"
      unitRef="usd">934000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjM4Ng_b88bb755-0457-49b1-8e67-31b1820cd362"
      unitRef="usd">3099000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjk2NQ_43a68c42-39c8-48ba-997f-71d6a435a351"
      unitRef="usd">11621000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMjk3Mg_ed209e08-9617-433a-a557-9983a72c842d"
      unitRef="usd">53948000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjQ5OQ_1e3ec70f-ad2f-49eb-b197-f638dc256beb"
      unitRef="usd">1188000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjUwNg_e4482f8c-f187-40ea-bc0e-4e3a9bb3d331"
      unitRef="usd">26723000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzEyNg_9e901369-4860-43d8-9514-13e86e8f970f"
      unitRef="usd">1830000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzEzOQ_40070735-f919-438e-8cad-91a5448ce2ab"
      unitRef="usd">37430000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgyNQ_f8a572b7-e378-43f2-b0fc-4cb5c8529636">&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 six-month period ended July&#160;3, 2022: &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, 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:400;line-height:100%"&gt;823&#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;65.26&#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;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81.31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 July 3, 2022&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;1,194&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.47&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="i1613c9c9faae42a490bda25821a1c269_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMS0xLTEtMS02NjkwNA_9fc6c8fd-d0b8-4017-8e69-66500527363d"
      unitRef="shares">823000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i1613c9c9faae42a490bda25821a1c269_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMS0zLTEtMS02NjkwNA_98e20c54-2eb9-4820-8e0a-82d98dabc8af"
      unitRef="usdPerShare">65.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMi0xLTEtMS02NjkwNA_f7ef02b5-0ef9-46e5-8ca9-01c6e8ae76ba"
      unitRef="shares">481000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMi0zLTEtMS02NjkwNA_ce53c06b-9317-41b8-b30d-12c1117bb76e"
      unitRef="usdPerShare">63.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMy0xLTEtMS02NjkwNA_7bf5c123-3d4a-487e-8abd-2e4b0bd1be0d"
      unitRef="shares">74000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfMy0zLTEtMS02NjkwNA_5b6db495-92c5-4899-9aab-847150a28670"
      unitRef="usdPerShare">81.31</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNC0xLTEtMS02NjkwNA_97745fda-54dd-4fba-97b2-a93b20c7425c"
      unitRef="shares">36000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNC0zLTEtMS02NjkwNA_4d7ddbab-25a1-4dfd-81d0-14f76cf810e8"
      unitRef="usdPerShare">66.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i207553719b9c4b88983ad68e6a92538b_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNS0xLTEtMS02NjkwNA_67867fbd-a22e-4d2b-88e0-0389a842b778"
      unitRef="shares">1194000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i207553719b9c4b88983ad68e6a92538b_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmE3NmZmMDdjYzRhMDQ2ZTVhY2RlMTYwNDJhMDZkOGY0L3RhYmxlcmFuZ2U6YTc2ZmYwN2NjNGEwNDZlNWFjZGUxNjA0MmEwNmQ4ZjRfNS0zLTEtMS02NjkwNA_f9f85b7f-31e8-430d-af0d-7ba2fa87aabf"
      unitRef="usdPerShare">63.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0b7030e870764aa496f7be238c1eca5e_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjkzMA_3b23fc2d-bf15-4674-9262-b68eca124313"
      unitRef="usdPerShare">45.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMjkzNw_f4aa9db8-9578-4577-85b8-9694d225ab42"
      unitRef="usdPerShare">63.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i75767adc6b334abc8f04169990c2b850_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzI5Nw_605c9474-5caa-4b56-976a-7165dc1165a9"
      unitRef="usdPerShare">75.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i351e44c9bf1043498601933e91a3022e_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzMwOA_5ac33d2e-dd7c-47f6-ad49-5921da78a7ad"
      unitRef="usdPerShare">87.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i0b7030e870764aa496f7be238c1eca5e_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzU5Nw_68db6511-104c-4f7b-b165-3e05a2f6191a"
      unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i24ea3007004d4b2b883e670be59fad59_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzU5OA_9155491b-3e0b-443d-97c1-a660f9373261"
      unitRef="shares">74000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i75767adc6b334abc8f04169990c2b850_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzAzOA_03ac031a-58ec-4660-8e64-72fa9e70de98"
      unitRef="shares">13000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i351e44c9bf1043498601933e91a3022e_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzA0NQ_d91cc5c2-9838-4e39-90c3-2bf141a66272"
      unitRef="shares">15000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDc5Mg_b48c9d55-2f9b-446e-83ba-9b27d437382c">&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 PRSUs activity for the six-month period ended July&#160;3, 2022: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.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, 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:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 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;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;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.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 July 3, 2022&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;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;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;62.49&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:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i44cc039320e1443e9eb41f3f97d5f0c6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMS0xLTEtMS02NjkwNA_b8054739-2179-4866-a01f-2fc276c6b3fd"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i44cc039320e1443e9eb41f3f97d5f0c6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMS0zLTEtMS02NjkwNA_c3ba5bb7-e9d2-4295-a9a9-403628c19174"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMi0xLTEtMS02NjkwNA_47455e11-3cde-4d29-a6ba-c3e891ccd1d3"
      unitRef="shares">33000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMi0zLTEtMS02NjkwNA_ca90c285-8d15-4a13-b2d2-823698823cd6"
      unitRef="usdPerShare">62.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMy0xLTEtMS02NjkwNA_9c0dc3c7-09be-4e8b-aa53-2c366725d602"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfMy0zLTEtMS02NjkwNA_e4e8c81e-e101-4bca-8a30-a19355c6ef94"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNC0xLTEtMS02NjkwNA_ece323f0-d147-4cba-935c-6245cf5c7fd3"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ic35ab3e8ce3e46ffb0c059cd0334ad2b_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNC0zLTEtMS02NjkwNA_3e0987e5-8b56-4427-aadc-cce1affbbf69"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ifd0589fc43f04e318abb7b2b79b0f048_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNS0xLTEtMS02NjkwNA_f1cc4aa1-1196-4c48-8d7d-80e70c75f7a1"
      unitRef="shares">33000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ifd0589fc43f04e318abb7b2b79b0f048_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOmM1NzZiMmIwYTAyNjRjZWRhMjQxZmYyZDM4YmE3Yzg1L3RhYmxlcmFuZ2U6YzU3NmIyYjBhMDI2NGNlZGEyNDFmZjJkMzhiYTdjODVfNS0zLTEtMS02NjkwNA_80edc07d-4d3f-45ab-9b9d-d15af6d10e33"
      unitRef="usdPerShare">62.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ia28ded5e06694c1eae5547d10145a791_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTQ5NzU1ODIwNDUz_2da2141b-5f8d-4e34-ac9d-328e07ec6c5f"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ia28ded5e06694c1eae5547d10145a791_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNTQ5NzU1ODIwNDUz_7617cc2a-946c-422e-a013-ba27ebdd1fa1"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ibf24b603aaa2464b8d5c19ef0ef97e34_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_4bdbc0fe-5a18-4588-b5ca-b14b5090ca74"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i71d5b0c487574779b5e655e0664db1a9_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_7b79cf62-f9e1-4511-bd7c-a6b1b5508191"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i71d5b0c487574779b5e655e0664db1a9_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_ddc369ce-b87d-4a22-ba9c-6b473570c393"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibf24b603aaa2464b8d5c19ef0ef97e34_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzIwMw_e186dd70-0234-4d02-a20c-76484ede9441"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <cgnx:NumberOfGroupsWithinEmployeePopulation
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzU0NA_b55e1cd4-1192-41d9-8e59-347932cd216e"
      unitRef="group">2</cgnx:NumberOfGroupsWithinEmployeePopulation>
    <cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzcwNw_92bdac4b-6132-4156-a40e-9cfc6f368507"
      unitRef="number">0.07</cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement>
    <cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzc3Mg_a83c1ec9-1deb-4011-9007-198bf691f7cf"
      unitRef="number">0.12</cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement>
    <cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMzk4MQ_daa36a28-a9d8-4709-bfb7-77c1d006ddd6"
      unitRef="usd">1536000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
    <cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDAzNA_e8577bae-d60b-4ba7-90bb-b87c0ba0e6d7"
      unitRef="usd">255000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDE3OA_f7be23b6-a20a-4dbe-8b57-85b9d31513cf"
      unitRef="usd">69142000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDI1MQ_84ef411d-bcd9-4f4e-9d01-6880ac6834b9">P1Y7M6D</cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDM5MQ_b4ff63dc-bd10-4cdf-9560-43e486163eee"
      unitRef="usd">12997000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDM5OA_083a066f-1ff6-4964-9780-ade23f1562a6"
      unitRef="usd">2044000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzgzNw_9439658c-da8d-42bd-a600-e4a26439fdcb"
      unitRef="usd">28053000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzg0NA_de2cdfa9-be39-42c0-ab71-5d9ba7def820"
      unitRef="usd">4363000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU0Ng_663b3a1d-c03f-40b7-ae9e-0710c5438b02"
      unitRef="usd">10730000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU1Mw_abb7c66f-cd53-411e-ae5d-d7ba73510896"
      unitRef="usd">1651000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzk2NA_a9413eb0-de37-4f71-8a94-b3f1d815b970"
      unitRef="usd">22739000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfMTA5OTUxMTYzMzk3OA_7440d2b6-7d3f-4023-b740-8b8cb11114cc"
      unitRef="usd">3464000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU3MQ_5abf9a2b-6b86-4a16-ba4b-6a38531a1c07"
      unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
    <cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount
      contextRef="i194e427ca3d340af80848fb3854e8ef7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDU3MQ_bac79fd4-4e53-4558-839e-d938d13fde0d"
      unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RleHRyZWdpb246N2Q4MDNmNWY4ODk4NDcyYmFhZjMyNGMwNWM1MDRiOTBfNDgyNw_3bd3ac00-19ee-4dc3-87c0-56ac0ca3b6b8">&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:38.812%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.941%"/&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="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="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;Six-months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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;482&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;351&#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;1,045&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;599&#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;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;3,851&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,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 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,299&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;7,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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;8,664&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;7,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 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,709&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;15,073&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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 #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,997&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;10,730&#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;28,053&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;22,739&#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:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i42059a6f763e44de9fd3f1dc1ae818ae_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi0xLTEtMS02NjkwNA_9ee7c1b9-2c6d-4c68-9ebf-b09124bb5dc6"
      unitRef="usd">482000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8b194c1428cc4cc3a049747722c7dbad_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi0zLTEtMS02NjkwNA_ef7398b6-c3c5-4fef-b2bc-d74786c36e90"
      unitRef="usd">351000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9ef24690ee624002b1e38e47c666a2b1_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi01LTEtMS02NjkwNA_77f1a9f3-1c28-4fdc-88dc-960cf4f355ff"
      unitRef="usd">1045000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i24623843aab94e8490eca1b8e6802b2e_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMi03LTEtMS02NjkwNA_75466a80-5e47-4015-bc50-df264070d5ee"
      unitRef="usd">599000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i16e9aa4c43284b06a6bf707e53fc421b_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy0xLTEtMS02NjkwNA_c8a880bb-3813-480f-a40f-5ab75f5894a5"
      unitRef="usd">3851000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i06b5ba8490b84cd2a46add82788b3311_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy0zLTEtMS02NjkwNA_b5ca40d0-4941-4808-be7b-4fc72c6e2c8b"
      unitRef="usd">3064000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id78527f3e5b14eac8e241989a2b143af_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy01LTEtMS02NjkwNA_033051a8-012b-4516-844e-9fbc7bfa9684"
      unitRef="usd">8299000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id1bff5b758f442518f0e0a460097e012_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfMy03LTEtMS02NjkwNA_bcb0425e-a21c-46c2-af6d-5073d4b1f9be"
      unitRef="usd">7067000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i31eea51c97224657b3b10d8f8987614e_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC0xLTEtMS02NjkwNA_185e4fa9-bf05-4854-9f21-eb03497a5b93"
      unitRef="usd">8664000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id88af386d5a5435180d92d01e15ece8c_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC0zLTEtMS02NjkwNA_c1891fa2-37cb-40fe-a83f-d36c26d7dea0"
      unitRef="usd">7315000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icf547b2babc04b978f280624150cb111_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC01LTEtMS02NjkwNA_c166c84c-afd1-44da-8e20-f6c4ee9f56b8"
      unitRef="usd">18709000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6693853fc15e47d387c2d4dde38dc6b4_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNC03LTEtMS02NjkwNA_5c63ecb9-d734-421c-abbf-aebf49445cee"
      unitRef="usd">15073000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS0xLTEtMS02NjkwNA_2d68213e-edb5-417e-aa37-079c003da9c9"
      unitRef="usd">12997000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS0zLTEtMS02NjkwNA_26df9599-6dc8-40f7-9e06-16963edd6b4f"
      unitRef="usd">10730000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS01LTEtMS02NjkwNA_e102c811-0a7a-4b86-a3c2-0881e14d3f0e"
      unitRef="usd">28053000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF83Ni9mcmFnOjdkODAzZjVmODg5ODQ3MmJhYWYzMjRjMDVjNTA0YjkwL3RhYmxlOjNkOWU3NDNhOTczMjQ3MzI5NDMzOWE3ZjY1ZDRhMWMzL3RhYmxlcmFuZ2U6M2Q5ZTc0M2E5NzMyNDczMjk0MzM5YTdmNjVkNGExYzNfNS03LTEtMS02NjkwNA_4b1b5c62-80a5-4262-ae3d-86d8ec708d0a"
      unitRef="usd">22739000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMTA2Nw_b40e9eae-d59b-43dc-b217-b228b5e137e1">Stock Repurchase ProgramOn March 12, 2020, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. As of July&#160;3, 2022, the Company repurchased 2,737,000 shares at a cost of $200,000,000 under this program, including 1,677,000 shares at a cost of $117,000,000 during the six-month period ended July&#160;3, 2022, which completed purchases under this program. On March 3, 2022, the Company's Board of Directors authorized the repurchase of an additional $500,000,000 of the Company's common stock. During the six-month period ended July&#160;3, 2022, the Company repurchased 590,000 shares at a cost of $37,317,000 under this program, leaving a remaining balance of $462,683,000 as of July&#160;3, 2022. 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="i3fc1b579c763483f89e053ac4c3b765a_I20200312"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMTIw_b6dad023-e168-4eb5-a2d2-096819c66a81"
      unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="ib0d6310e188344299286abcdb9ee4c7f_D20211004-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMTg4_6fe5dff6-b1b7-4285-a9a7-ff839d9835e2"
      unitRef="shares">2737000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="ib0d6310e188344299286abcdb9ee4c7f_D20211004-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMjEx_a847a7ca-575a-4b91-9cd4-b914e42d30c6"
      unitRef="usd">200000000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="ieac909b07de44bd78250f0bd7b3862bd_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMjQ0_3e875c12-a70f-4896-b185-8f0b129d38ae"
      unitRef="shares">1677000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="ieac909b07de44bd78250f0bd7b3862bd_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfMjY3_f3e3472c-79b7-468c-a54c-67e6af8617e6"
      unitRef="usd">117000000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i8d82b56df1dc4c1e9bf6f07262e9e5cb_I20220303"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNDUw_840f6d16-6021-4609-86c1-bd2aa7b0d7e5"
      unitRef="usd">500000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRedeemedOrCalledDuringPeriodShares
      contextRef="idcc952b09a794344b7281af15824c4f8_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNTQ4_dbfccec7-1c21-4b6d-a958-1b89c5e4b19c"
      unitRef="shares">590000</us-gaap:StockRedeemedOrCalledDuringPeriodShares>
    <us-gaap:StockRedeemedOrCalledDuringPeriodValue
      contextRef="idcc952b09a794344b7281af15824c4f8_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNTcx_cb594ec2-3055-4081-b0f7-e948e4b01b2b"
      unitRef="usd">37317000</us-gaap:StockRedeemedOrCalledDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="i05d2bb8b24d44451bd6b8bf8f694262a_I20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84Mi9mcmFnOjNiYWU1NmU4ZmY1YzQ3ODJiN2UyYzhjZGEyNTQ2ZTRlL3RleHRyZWdpb246M2JhZTU2ZThmZjVjNDc4MmI3ZTJjOGNkYTI1NDZlNGVfNjI1_8f802e4a-0cfd-4992-989b-70e7e7c62d46"
      unitRef="usd">462683000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzA3MA_35382d63-e55e-4594-82ac-4f1476650e5a">Income 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;The Company's effective tax rate was 9% and 17% for the three-month and six-month periods ended July&#160;3, 2022, respectively, and 17% and 14% for the three-month and six-month periods ended July&#160;4, 2021, respectively. &lt;/span&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:120%"&gt;The Company recorded a net discrete tax benefit totaling $4,792,000 and a net discrete tax expense totaling $1,546,000 for the three-month and six-month periods ended July 3, 2022, respectively, and net discrete tax benefits totaling $896,000 and $6,103,000 for the same periods in 2021. Discrete tax items for the six-month period ended July&#160;3, 2022 included (1) a decrease in tax expense of $2,440,000 arising from the impact of the loss from fire recorded during the three-month period ended July&#160;3, 2022 (refer to Note 17), (2) an increase in tax expense of $1,417,000 arising from an Internal Revenue Service (IRS) audit recorded during the three-month period ended April 3, 2022, which was offset by a decrease in tax expense of $2,519,000 related to releases of reserves for income taxes due to the closure of this Internal Revenue Service (IRS) audit during the three-month period ended July&#160;3, 2022, (3) an increase in tax expense of $1,734,000 to establish a full valuation allowance against deferred tax assets related to foreign tax credits recorded during the three-month period ended April 3, 2022, and (4) an increase in tax expense of $3,353,000 primarily consisting of transfer pricing and return-to-provision adjustments.&lt;/span&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:120%"&gt;Discrete tax items for the three-month and six-month periods ended July&#160;4, 2021 included a decrease in tax expense of $1,431,000 and $6,638,000, respectively, related to stock-based compensation, primarily from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises. This impact was not material for the three-month and six-month periods ended July&#160;3, 2022. &lt;/span&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:120%"&gt;Excluding the impact of these discrete tax items, the Company&#x2019;s effective tax rate was 16% for both the three-month and six-month periods ended July&#160;3, 2022, and 18% for both the three-month and six-month periods ended July&#160;4, 2021. 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 22% in Korea compared to the U.S. federal statutory corporate tax rate of 21%. These differences resulted in a lower effective tax rate for the three-month and six-month periods ended July&#160;3, 2022 as compared to the same periods in 2021 due to more of the Company's profits being earned and taxed in lower tax jurisdictions. The remaining decrease in the effective tax rate for the three-month and six-month periods was primarily attributable to lower state taxes.&lt;/span&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:120%"&gt;The Company&#x2019;s reserve for income taxes, including gross interest and penalties, was $13,444,000 as of July&#160;3, 2022, which included $12,876,000 classified as a non-current liability and $568,000 recorded as a reduction to non-current deferred tax assets. 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.&lt;/span&gt;&lt;/div&gt;Within the United States, the tax years 2019 through 2020 remain open to examination by the IRS, and 2017 through 2020 remain open to examination by various state tax authorities. The tax years 2016 through 2021 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. The Company received the Closing Letter for Agreed Income Tax Cases from the IRS and the Company is no longer under audit by the IRS for the tax years 2017 and 2018. As a result, management released reserves associated with the periods under audit which decreased tax expense by approximately $2,519,000 during the three-month period ended July&#160;3, 2022. The Company is no longer under audit by the Commonwealth of Massachusetts for tax years 2017 and 2018. The audit was completed during the six-month period ended July&#160;3, 2022 and resulted in no material tax impact to the Company's financial statements.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzYzNw_fa2f8e30-cff6-4563-9c73-ea5549aae63b"
      unitRef="number">0.09</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODE3NTQ3_01e8c2a2-5b5a-428a-b076-bfafeb8b3c18"
      unitRef="number">0.17</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA3_e0302863-2f49-4a52-990d-08e92c41e0fb"
      unitRef="number">0.17</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODE3NTc0_ed1e31a0-7739-4857-8d72-a1d62a485824"
      unitRef="number">0.14</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3MzUw_5b56d31b-820e-4367-9b07-7c5166cdfc09"
      unitRef="usd">-4792000</cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount>
    <cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3MzYy_15f3a7b4-bd4e-451a-8af0-0197f4fd7e8a"
      unitRef="usd">1546000</cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount>
    <cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3Mzc0_71b01bb4-aa27-4aa6-919a-1ba04f687e9e"
      unitRef="usd">-896000</cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount>
    <cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI3Mzg0_a02d9fa1-fb04-48de-ad13-7a0f5d43b622"
      unitRef="usd">-6103000</cgnx:EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount>
    <cgnx:EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2MjU3_a03e7ba7-bde8-4979-b1c0-395619a1cd39"
      unitRef="usd">2440000</cgnx:EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount>
    <us-gaap:IncomeTaxReconciliationTaxSettlements
      contextRef="iff9cb7e0db364d3c9ebc9afd22a27fea_D20220101-20220403"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2NDEw_0df2ff15-89ce-49cc-8c4a-44929ec1afec"
      unitRef="usd">1417000</us-gaap:IncomeTaxReconciliationTaxSettlements>
    <us-gaap:IncomeTaxReconciliationTaxSettlements
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2NTc3_7a662656-a6b5-4c8e-8569-b946d491d579"
      unitRef="usd">2519000</us-gaap:IncomeTaxReconciliationTaxSettlements>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODI2Nzcw_8ec52542-670b-4c22-b648-613b6f5af508"
      unitRef="usd">1734000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTI2NDQzODM3MzI5NzQ_b31397ea-882d-48e3-8f69-f52fd3c3df10"
      unitRef="usd">3353000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMjQx_1625346e-43d9-4d3e-97b3-adf009538622"
      unitRef="usd">1431000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfNTQ5NzU1ODE3MDYy_28a3ef44-9331-4771-af4c-90a6177d4a5f"
      unitRef="usd">6638000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA1MQ_b2852696-035e-443c-abb3-c1f25c20fd0c"
      unitRef="number">0.16</cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent>
    <cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA1MQ_d691436e-5173-41e1-a580-5d55fd30d5e2"
      unitRef="number">0.16</cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent>
    <cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA5NA_11a04860-e679-4ade-b30f-2fd7bdf4572e"
      unitRef="number">0.18</cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent>
    <cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTA5NA_3670f3a6-8cf8-4d6a-9185-26ca020ab3c3"
      unitRef="number">0.18</cgnx:EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="if1f28032030149629ea887977930b17f_D20220101-20220703"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTMwNg_c26e980f-e930-415e-9a2b-c783fd0ee92e"
      unitRef="number">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i26703be43d194ff3bf2447a906d96b4b_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTMyMQ_2c00f6ee-2311-43dd-af36-ae37d159e36e"
      unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i347cee071f5e4f9aa3d8b3aaae04bf06_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTMzOA_9efb89c0-4e5f-48b3-bf3c-75defd50dd15"
      unitRef="number">0.22</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i3bc52906d54b41dd9921df05814d6f99_D20220101-20220703"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTQxMQ_e401640b-5ef5-4452-a119-c8dca82ef911"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <cgnx:LiabilityForUncertainTaxPositions
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTg3MA_d2810090-9527-48aa-b59f-558cafef6cfb"
      unitRef="usd">13444000</cgnx:LiabilityForUncertainTaxPositions>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTg5OA_915749df-e005-45db-a1cc-70735e3869ad"
      unitRef="usd">12876000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:IncreaseDecreaseInDeferredLiabilities
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMTk0Mw_d8b5d89f-a142-4983-9121-fb9a0d431731"
      unitRef="usd">568000</us-gaap:IncreaseDecreaseInDeferredLiabilities>
    <cgnx:TaxyearsopentoexaminationbyInternalRevenueService
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzA3Ng_8738bb5e-6e85-4631-93e4-333901fd3526">2019 through 2020</cgnx:TaxyearsopentoexaminationbyInternalRevenueService>
    <cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMzA3MQ_5eef7fc1-8234-47b9-b5ba-20e1418f9c2d">2016 through 2021</cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84NS9mcmFnOjU3YTdkNGUwN2ExMjQyMDRhZjkyMzRkMGNlMjQ1ODZiL3RleHRyZWdpb246NTdhN2Q0ZTA3YTEyNDIwNGFmOTIzNGQwY2UyNDU4NmJfMjgyMA_871fb66d-1651-42a4-aa89-586d056dd0ba"
      unitRef="usd">2519000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfODIx_07afe983-66d8-4535-8e43-d26c932dc903">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:42.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&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.788%"/&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.350%"/&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.794%"/&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="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="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;Six-months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;173,507&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;176,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;173,830&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;176,454&#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;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;1,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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 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,044&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,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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;174,993&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;179,991&#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:700;line-height:100%"&gt;175,874&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;179,982&#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;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 4,048,000 and 1,818,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively, and 701,000 and 591,000 for the same periods in 2021, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Restricted stock units totaling 480,000 and 21,000 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively and 500 and 1,000 for the same periods in 2021, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. Performance restricted stock units totaling 33,000 and 0 shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July&#160;3, 2022, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive. There were no anti-dilutive performance restricted stock units outstanding, on a weighted-average basis, during the three-month and six-month periods July&#160;4, 2021.</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfODE2_611a0148-ab7b-4e2e-bce5-c24c58626255">&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:42.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&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.788%"/&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.350%"/&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.794%"/&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="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="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;Six-months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 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:700;line-height:100%"&gt;July 3, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 4, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;173,507&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;176,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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;173,830&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;176,454&#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;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;1,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;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 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,044&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,528&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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;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;174,993&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;179,991&#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:700;line-height:100%"&gt;175,874&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;179,982&#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;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="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi0xLTEtMS02NjkwNA_1695d314-7c08-4449-9e7d-ba9bc30adeec"
      unitRef="shares">173507000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi0zLTEtMS02NjkwNA_acc167b8-3bcf-48a3-89f3-a148a8509f9f"
      unitRef="shares">176626000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi01LTEtMS02NjkwNA_9b03bb10-c1b8-4478-8817-2c0301557f9d"
      unitRef="shares">173830000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMi03LTEtMS02NjkwNA_eaddf047-f1f2-41d5-a4d8-3d91029c047e"
      unitRef="shares">176454000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy0xLTEtMS02NjkwNA_475d8c06-2510-4878-8bf6-703a34704f84"
      unitRef="shares">1486000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy0zLTEtMS02NjkwNA_f6165e0a-353e-4b6b-abc1-bda89985d6db"
      unitRef="shares">3365000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy01LTEtMS02NjkwNA_5244a219-9743-45e1-bedc-41a3608950d5"
      unitRef="shares">2044000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfMy03LTEtMS02NjkwNA_8a92f294-308d-4443-a3c3-0572841cd53a"
      unitRef="shares">3528000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC0xLTEtMS02NjkwNA_52aa44c2-ec83-4917-9279-27f0a456798e"
      unitRef="shares">174993000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia734314f1df545be92e2a0d50c4ec3c4_D20210405-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC0zLTEtMS02NjkwNA_16af35c3-12d2-4d25-b3a4-1d168b1a490a"
      unitRef="shares">179991000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC01LTEtMS02NjkwNA_b641d9d5-ca4c-4b81-bdab-cb313fef41d8"
      unitRef="shares">175874000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i6c74fac31eed4a8a8d961fe928085d16_D20210101-20210704"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RhYmxlOjlkYjc4N2M0MmJkNzRiM2RhOGFhYjY3YmNjOWRiMTlhL3RhYmxlcmFuZ2U6OWRiNzg3YzQyYmQ3NGIzZGE4YWFiNjdiY2M5ZGIxOWFfNC03LTEtMS02NjkwNA_bc2430c3-a591-4fcf-90a0-6c6f302af31a"
      unitRef="shares">179982000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8e6b59647e2146019e00324651aeced5_D20220404-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTM0_9576b429-6d8b-4f1e-b804-c0a3fb4ade5c"
      unitRef="shares">4048000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia8e6091c580a4d358cd24380f089296c_D20220101-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTQx_e0ac4127-563c-42b2-be62-05875062fa14"
      unitRef="shares">1818000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0bd75fa5c10f487c84cc3aa90a628adf_D20210405-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODcxNQ_95d9a848-f85a-47e2-9ba3-4a475988d3c9"
      unitRef="shares">701000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ib1d1c6cb6bd84b09bfdc6915cafe0810_D20210101-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODcyNA_9f36fdef-699f-47b6-899f-a594fdaf37c1"
      unitRef="shares">591000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia8407e06f9f04c1b8e10743d2acb88ff_D20220404-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNDE1_c9983d99-a41f-4208-b041-31758c64b747"
      unitRef="shares">480000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i67659c71dc044f0c8d56d979deb57d82_D20220101-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNDIy_70954e97-2e35-4f32-a738-be86a7139b53"
      unitRef="shares">21000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ic95019c016be45aba7f5e3731a1c89c3_D20210405-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODgzNg_72032b41-4d2c-45d5-8a83-0bf7783460b3"
      unitRef="shares">500</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i090d24bbbe26480daa0af82355e528d5_D20210101-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfMTA5OTUxMTYyODg0MQ_15a4de30-5d5b-4f96-ab1e-adb708ca51f8"
      unitRef="shares">1000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i2221882fbb26469788afb36f06c90c29_D20220404-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNTQ5NzU1ODE1Nzc1_04a5f31f-df2d-43f6-8aeb-bd29c3f520a6"
      unitRef="shares">33000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="if5634baab7934f40b849dfe86c5fe611_D20220101-20220703"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNTQ5NzU1ODE1ODQ0_8562e4a0-7837-4de9-bec6-07b0d6ddb665"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i349d802412c84b77b0baa6b5a8bd9c06_D20210405-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNjc1_077bd73c-f54d-457f-8ff5-931cf2ac287a"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i50ca9cb4d6094e4ab253b56ba18f095e_D20210101-20210704"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF84OC9mcmFnOmZiMDJhNmNhYWRjYjRkZDA5MjEzNzdjNzM4MzU2NGU0L3RleHRyZWdpb246ZmIwMmE2Y2FhZGNiNGRkMDkyMTM3N2M3MzgzNTY0ZTRfNjc1_f561e86d-c2f2-4622-a1b3-f5f636e62acc"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <cgnx:LossFromCatastropheTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MzMwNTA_4a636cea-6e74-4315-bf3b-28b204da68f2">Loss from Fire&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;On June 7, 2022, the Company&#x2019;s primary contract manufacturer experienced a fire at its plant in Indonesia. The fire destroyed a significant amount of Cognex-owned consigned inventories as well as component inventories owned by the contract manufacturer that were designated for Cognex products. There was no significant damage to the Company's production equipment. Since the date of the fire and continuing through the date of this report, the Company has worked with the contract manufacturer to assess the damage, resume production, and begin the process of replenishing inventories destroyed by the fire. Additionally, beginning last year, the Company has been working to ramp up an additional contract manufacturer to further mitigate risk, diversify supply chain, and expand production capacity. We expect this additional contract manufacturer to commence production later in the year. As a result of the fire, the Company recorded $44,903,000 in gross losses, including $36,484,000 of primarily Cognex-owned inventory that was destroyed or deemed to have a net realizable value of zero and $8,419,000 of primarily prepayments related to Cognex-designated components that were owned by the contract manufacturer. &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;Based on the provisions of the Company's insurance policies, the gross losses have been reduced by the estimated insurance proceeds expected to be received from the Company&#x2019;s insurance carrier. The Company has determined that partial recovery of the incurred losses is probable and therefore recorded an insurance recovery of $27,500,000 during the three-month period ended July&#160;3, 2022. The insurance receivable is included in &#x201c;Prepaid expenses and other current assets&#x201d; on the Consolidated Balance Sheets. The gross losses, net of insurance recovery, total $17,403,000 and is presented in the caption &#x201c;Loss from fire&#x201d; on the Consolidated Statements of Operations. &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 July&#160;3, 2022 and through the date of financial statement issuance, management cannot estimate additional recoveries that could be available from the contract manufacturer. Any future, additional recoveries in excess of recognized losses will be treated as gain contingencies and will be recognized when the gain is realized or &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;realizable. There can be no assurance, however, that the expected insurance coverage and/or recoveries from the contract manufacturer will be available to cover the losses from the fire.&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;After considering all the relevant events and circumstances resulting from the fire, management does not believe that the carrying value of the Company exceeds its fair value, or that the carrying amount of the Company&#x2019;s intangible assets may not be recoverable. As such, no goodwill or intangible asset impairment charges were recorded during the three-month period ended July&#160;3, 2022 as a result of the fire.&lt;/span&gt;&lt;/div&gt;</cgnx:LossFromCatastropheTextBlock>
    <cgnx:GrossLossFromCatastrophes
      contextRef="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI0NzE_6bb17a7d-3dfa-4f95-87e8-2af9271368f1"
      unitRef="usd">44903000</cgnx:GrossLossFromCatastrophes>
    <us-gaap:InventoryWriteDown
      contextRef="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI0NTg_c0ceecb1-4d72-4414-b46b-15853d99c532"
      unitRef="usd">36484000</us-gaap:InventoryWriteDown>
    <us-gaap:AssetImpairmentCharges
      contextRef="iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MzcwMDE_c2bf5e36-3d4b-49c8-bc0d-0023c61dc1db"
      unitRef="usd">8419000</us-gaap:AssetImpairmentCharges>
    <us-gaap:EstimatedInsuranceRecoveries
      contextRef="i0120f99de321420e9573cf8bde1062c4_I20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI1MjA_5103955c-8680-4786-84f3-d5658e79848c"
      unitRef="usd">27500000</us-gaap:EstimatedInsuranceRecoveries>
    <us-gaap:LossFromCatastrophes
      contextRef="i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF8xMDg2L2ZyYWc6YmJiM2I4YWU3MDQzNGZjMDk3MTcyYjYwNjUwZjMxZWMvdGV4dHJlZ2lvbjpiYmIzYjhhZTcwNDM0ZmMwOTcxNzJiNjA2NTBmMzFlY181NDk3NTU4MjI1MDc_93ea0854-f19e-46c7-8e07-7eb09d5f9c4d"
      unitRef="usd">17403000</us-gaap:LossFromCatastrophes>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF85MS9mcmFnOmJkYmY5MzRiNTM0NDRjZWQ4NWQzZDFlMWY2NDg0ZTFmL3RleHRyZWdpb246YmRiZjkzNGI1MzQ0NGNlZDg1ZDNkMWUxZjY0ODRlMWZfMjEy_6d3d02c7-2f31-4c61-a649-336ba97d9f7c">Subsequent EventsOn August 2, 2022, the Company&#x2019;s Board of Directors declared a cash dividend of $0.065 per share. The dividend is payable on September 2, 2022 to all shareholders of record as of the close of business on August 19, 2022.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i61ce873236814a3fa8823db347733f60_D20220802-20220802"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQzOTI4NzgxN2FjNjRiZTQ4MmUyZGRjMDIwNjhhYTQwL3NlYzo0MzkyODc4MTdhYzY0YmU0ODJlMmRkYzAyMDY4YWE0MF85MS9mcmFnOmJkYmY5MzRiNTM0NDRjZWQ4NWQzZDFlMWY2NDg0ZTFmL3RleHRyZWdpb246YmRiZjkzNGI1MzQ0NGNlZDg1ZDNkMWUxZjY0ODRlMWZfMTAw_b1e719ba-b63b-45d3-ada0-d7b11ed075c8"
      unitRef="usdPerShare">0.065</us-gaap:CommonStockDividendsPerShareDeclared>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>87
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M-"E#J&1 I>!>C&&W&NOT\0/3K^WLF;I*GYY;-TB>VNN;4FPEW(8E?N";,@V
MX8!@;*UO *?KYZ /'(>@5VK8+=7N3B-M:Z= -S63,R3$$FJV;P"F.Y^U7T$P
MO6'Y XQ[O8;=@NT=<R[GT%;$<>)9[=N&15&06.FU89B$Q*<F5P!'(TK# ;*]
M8L.1\PVP)XOTWH4>FZ\O+'N5[O1.MF)(_U+6'WVT>FDO7[&OVWR7%G73:[X8
M7(%1<@K%[WU5/*NWV5F]S<_E[3A_O<[$;J%YF\I\@2ZV,FORUV0$[LFMG^A0
M[KPVZVP*HB@UJQ9"V=L0A(J'!$>O)[%;4,[R8EM_T3J%<W(29PAEB6@0%9GO
M52 J)C!GTNM*XCE7Z>?O7Y82\:V22B.T' 77*'%JV>]=HV?U-CNKM_FYO!UG
MKY?(Q"V1NS7:I@4L5&(+5!SY@6>(H2F("T/K*P#L+_:-G78.^Z/!P"(EO3(F
M;F6\7Z0NTI#DI4EBO@J N,3Z*# #<4$<F7OI@+_!5=H+9.(6R--4KE&6[_*,
M59EL>E.W3ILHG-*QNA'BH_[AA:9X'("9 8%0V&S3,,H,QOC@'*)D8M4< $G-
M;UNI]GOS_NG^D.E-<[1B/+_%5U,,/)_AJWE[A-2[;T^TWC:?SB0JV%(/I9NN
MSIQH#XG:&\4WS2G( U>*E\WEFJ49$S5 _[[D7#W?U /LC^HF_P!02P,$%
M  @ X( "54K@#;1K!   N1(  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX
M;6RM6%UOVS84_2N$5@P)T$2B/NW,-I#8'M8!W8*DW1Z&/3 2;6FE2(^D[72_
M?B2E*)9,*T:K%TNBSSV7]]PK\HJ3/>-?1(ZQ!,\EH6+JY%)N;EQ7I#DND;AF
M&TS5/RO&2R35(U^[8L,QRHQ125S?\V*W1 5U9A,S=L]G$[:5I*#XG@.Q+4O$
MO]YAPO93!SHO P_%.I=ZP)U--FB-'['\O+GGZLEM6+*BQ%04C *.5U/G%MXL
M8: -#.*/ N_%P3W0H3PQ]D4_?,BFCJ=GA E.I:9 ZK+#<TR(9E+S^+<F=1J?
MVO#P_H7]9Q.\"N8)"3QGY,\BD_G4&3D@PRNT)?*![7_!=4"1YDL9$>87[&NL
MYX!T*R0K:V,U@[*@U14]UT(<&"@>NX%?&_A=@_"$05 ;!.=Z"&N#\%P/46U@
M0G>KV(UP"R31;,+9'G"-5FSZQJAOK)5>!=6%\BBY^K=0=G(V9U0P4F1(X@P\
M2G5152 %8"LP9Z6JO5P7Q0Z##S1E)097X//C ER\NP3O0$'!IYQM!:*9F+A2
MS49SNFGM^:[R[)_P'("/C,I<@"7-<&:Q7_3;QSWVKE*AD<)_D>+.[R7\=4NN
M@1>\![[G^Y;YS,\Q#XTYM(7S?=Z7W^R])4;0U$5@^((3?$TIG*R$OVZ?A.3J
M1?_;EON*/;2SZ]7O1FQ0BJ>.(A:8[[ S^_$'&'L_V80?DFPQ)-ER(+)6BL(F
M16$?^^PWM8T4)A>V!%2VL;'5N\5N%HW&GBJ-W:&RQZ@DB<:C-FIQC()^[ =A
M&[:TP,(D#.,&U@HS:L*,>BOQ=H<*@IX(OE+;XI5 !*NH=UA(LU#=V&*/ABR^
M(<D60Y(M!R)K925NLA*_67Q;JEH34ORG=HZU:DG !6%"7 *]_??F[#V@V*PK
M$CW;TE=YC@[JZ,H/]*+8*ET+"@;=RK6!HE'B=2K7YM$;GRC<I)$HZ97H :<$
M"5&LBA29IDA%K -O1+O0JET"K9H63>88&*D4KE] =2^9Z@XX-POT!G/CP+H)
M)Q8%NE):,'%7R6.,WWW_^VE:&HX:#4=OEEF:([K&2C9BFA05>;\Z-A5&MI+J
M+F!S&\J+.T)80*JDP@YL:>."<6B78]S(,>Y="U5OK#I?6J<^_0K4!DP%J<H+
M9?]L^U;%\9"KXI!DBR')E@.1M?(#O==VVNLMV',S9.V7O>.:"<9Q]VVUPH*D
M4Z8V5.PE0:=,K6302^QU"@\^*^ WO+BK[U$'GJ>.#7:LC@5E4\=&=EH=_U4=
MOU>=W]5:ST'::JNK5J[>1-_:(FO^]OS]<=P5PP*+PJ KA@7EPS$<=]6PL?D)
M/*'&ZZ<&[&V39Y^81,2JAC7TX+BS]6,OZH9^#$L2+XJZL1_#H!<&,.K&;L&%
M/DRB3O#NP:=XB?G:G($(%=R6RNKKJQEMSEENS>E"9_P.WLRA97RASV7,I_\K
M?76H\Q'Q=4$%('BE7'G7B4H4K\Y)J@?)-N8@X(E)R4ISFV.48:X!ZO\58_+E
M03MH3JMF_P-02P,$%     @ X( "5;\LM%3+ @  (0@  !@   !X;"]W;W)K
M<VAE971S+W-H965T-"YX;6RM5FUOVC 0_BM65DVM-!I(4MHQB-0"TSJI$BKM
M]F':!Y-<B#7'9K8#W7[]SD[(H JHVOH%VY=[GGOQ^8[A1JH?.@<PY*G@0H^\
MW)C5P/=UDD-!];E<@< OF50%-7A42U^O%-#4@0KN!]UNWR\H$UX\=+*9BH>R
M-)P)F"FBRZ*@ZM<-<+D9>3UO*[AGR]Q8@1\/5W0)<S"/JYG"D]^PI*P H9D4
M1$$V\JY[@VED]9W"%P8;O;,G-I*%E#_LX38=>5WK$'!(C&6@N*QA#)Q;(G3C
M9\WI-28M<'>_9?_H8L=8%E3#6/*O+#7YR+OR2 H9+;FYEYM/4,=S8?D2R;7[
M)9M:M^N1I-1&%C48/2B8J%;Z5.=A!X \[8"@!@3/ =$!0%@#PI=:B&I ]%(+
M%S7 A>Y7L;O$3:BA\5#)#5%6&]GLQF7?H3%?3-@ZF1N%7QGB3#R60DO.4FH@
M)7.#"Q:!T41F9"P+++W<UL0:R*U(9 'D=$85*N1@6$+Y&>F0Q_F$G)Z<D1/"
M!'G(9:FI2/70-^B=M>$GM2<WE2?! 4]"<B>16).I2"%MP4^.X_M'\#YFI4E-
ML$W-37"4\'/)STDW?$>";A"T^#-^"3QR\%Y;./]G??K/UO>2$39U$CJ^\ !?
M4QH'*^/;]4(;A0__>]O=5^Q1.[MMA@.]H@F,/"36H-;@Q6_?]/K=#VV)?TVR
MR6N235^);.^*HN:*HF/L\0-](I!EV('M'94"QP9GO_%9+W%<D%,NM3XCMC>O
M*>-TP:&#8Z:C*0=\N6O0QKW\MLNK[/:=73MXUG&G__YJZ*]W+Z5-J;>O,VG1
MB2[#:%]KVL84]1NE*CG^3L\K0"W=L-$DD:4P55DWTF:>7;LV_DQ^TQN,>RWR
M"<Z_:ES]I:^&YQU52R8TX9"AJ>[Y);9D50VDZF#DRG7<A338O]TVQQD.RBK@
M]TQ*LSU8 \V_@O@/4$L#!!0    ( ."  E7?7^?#4 <  "\?   8    >&PO
M=V]R:W-H965T<R]S:&5E=#4N>&ULO5EM;]LX$OXKA#?8W0/<F&\2J30QT*:X
MVQYPMT&SO?O,2$PL5!:]$IVT^^MO*"N6+5*T"Q3W);'LX>B9X7">9Z3K%]-\
M:5=:6_1U7=7MS6QE[>9JL6CSE5ZK]M)L= V_/)IFK2Q<-D^+=M-H572+UM6"
M8IPNUJJL9\OK[KN[9GEMMK8J:WW7H':[7JOFVWM=F9>;&9F]?O&I?%I9]\5B
M>;U13_I>V\^;NP:N%GLO1;G6=5N:&C7Z\6;VCES=,ND6=!;_*?5+>_ 9N5 >
MC/GB+CX6-S/L$.E*Y]:Y4/#O6=_JJG*> ,>?O=/9_IYNX>'G5^]_[X*'8!Y4
MJV]-]=^RL*N;F9RA0C^J;64_F9??=!]0XOSEIFJ[O^BEM\4SE&];:];]8D"P
M+NO=?_6U3\3! L(G%M!^ 3UW >L7L"[0';(NK _*JN5U8UY0XZS!F_O0Y:9;
M#=&4M=O&>]O KR6LL\M;4[>F*@ME=8'>JTK5N4;WSEV+WJ#/]Q_0KQ=_0Q>H
MK-$?*[-M55VTUPL+=W;K%WE_E_>[N]")N_QS6UTBS.:(8DH#RV_CRS_H_!(Q
MTBTGQ\L7$.\^:+H/FG;^V%30VZ;1M46J;2'.JU \.P<\[,"=K:MVHW)],X/#
MT^KF6<^6/_]$4OPV%-T/<G84*]O'RF+>E[>J72'8-92[#_K/;?FL*@@^N(L[
M5VGGRC6 YR41 O/T>O%\&$_ 3*8D)7NS(Z1\CY3'D?:[4M;/NK5KAW&.U-HT
MMOP+BC,WK47F$5T0R>>29UU0%X2).:'<U:>KK>Y+5R5SZ#'M1G=-HOH&?BIH
M6%UQ0^M#>:.+TJ+*0 &TG5/L>0CE9Q= <A0X31D?Y2=@Q@1/DG!^DGU^DFA^
MWN6YV4)2(+)<PRX^5/IT7(*37:*$2$\D*11PXD<B""?C@ -F##,NPP&G^X#3
M:,"?ZX>RJF#K&_VLZZT. 4R].U.:RA$\WXAE&0Z#$WMP(@KN(U1I;4U3ZN!)
M$MXMLQ03.@+F6Q'""*9A:'(/34:AW35ZH\H"Z:] ]JX0W'X;N])0($>=+P1<
M^I!PPN1XQWVS5 H^ 3S; \^BP/\P5E5G8,R\FPO&13+>=M\L99G()JJ2X($R
M<13FOTW])C^S6?$$S].T;U:)%/-,DO]3L^JC.(R?4\DQ&:4I8)=(Z%=3>3J0
M%N1$'8+:;"P$M %=8><=6L= &Y>O.:JU#>(F_O9FW#O4(3.1''#5,>I!&Y H
M'2]_!\S*EO43JC3HPT@9]HZ.^@HEU /JFU%&$C$!="!V$F?V?QA3O$"##$)C
M@7L>U7Z/+6#'H<6S"7 #EY,XF7^LK:J?2N"H/H'3VQU@2RCML>8(F1$IIXIT
M(%429]4/^E'#42[@2.5FK9%57\,=G?@DQPE)<#(&&K*3B9C@&S*P(8G3X>]=
M!X^4HT]SJ<BR,3S?2M"IQDT&-B1Q.MRU[@BX -5EG&')QOA\0QA)69I.01Q8
MD<BS5']5*M 5I07F#DI_$F77[]7^/\K;<= #HY(XI>Y%XT9]<XHQ&+!/E!0R
M/J;\@!GG.)E0_72@4QJG4X#8;/4@5X+CF,]1 A_>NQ^T?+.,<C91.G1@,AIG
MLE>(IWH$]3D)!@0Y;A$!,V@0$X1 #Z;:.'/M6UFOEW=C7_<, 1I'H3>F+<.G
MD_H4)4#T>;@#A)<(/D$6=& R&F>R,>4>G- @6I^T)$G&A!&P$D).R ,Z$!N-
M$]NQ1CV%-$!:&06&'6,-#98RD=D$VH'=:)S=#J6J^<XL^SQ&4YQY:0Z-B"*;
MF'7IP'8TSG9G\S(-C("")-EXU@K994RD4SD>J(_&J>_3KFUW6OTDV  -4BF\
MI ;,N) 3$H(.%$CCD^%A.:AS>YH_ZC&&\5A)!LPX QJ;@#P0&(T3V$[UG*I5
MGYJ("/3=@%G"Q41/8 .#L3B#[7K""8PL,&8E#'N2/&0G6#)5IVP@,4:B^N=^
MI1J],E6AF_;GGR0EXFTWC=EO01G$HI3XO3+H1WD[CGV@1A:GQKOFM9T &^9?
MYNCB$A/01 UZ5A4P99</\A:]V]J5:=P(?X4XQJAU.6M/#.QO46WVEFWK#E7W
MQ&5K6QB""NBXP?SZ9(K'I1 S.<[$P>/@$\^#S7IMZH,T8'HB#W#8Y_C\7(0S
M<(6(8',80;L?B$CF7)+S7 :3YY,[XV*<OH#1E%QE@P!@<0'PKBA*]P8*3KQ[
MRO8&P.=J4T('" +UF3WC@J;CL2QD1[B<>A3(!@7 X@K@D[8*O@)YK9H:-B+<
MFWP23PBES"O(@%U*I9Q".; ]B[,]".SM>EMU;Z'Z)Y5F#9U@Y5X8 K>ZAU_=
M$P3W_ NH*AB$3_!OTDRF8[$5LN,BFYJ!V2 $V#DS<#O99H.@ TS/9)9YW!4R
MA/D99Q/JFPVB@,5%@<=>W3D\#..76 #2?QD4'.P#AN'!?G'P-M.]2OZ7:I[*
MN@75^@@K\:6 '#2[M[.["VLVW0O.!V-AU.D^KK0"X,X ?G\TQKY>N'>F^W?D
MR_\!4$L#!!0    ( ."  E6JHT%<M0,  -\-   8    >&PO=V]R:W-H965T
M<R]S:&5E=#8N>&ULK9==C]HX%(;_BI56U8PT)7$2$I@"T@RCJKM2)52VNQ>K
MO? DAECCQ-1VH+N_OK:3"0F8,*#E O)QSIOG/3GX)),=XR\BPUB"GSDMQ-3)
MI-S<NZY(,IPC,6 ;7*@S*\9S)-4N7[MBPS%*35).7=_S(C='I'!F$W-LP6<3
M5DI*"KS@0)1YCOB_CYBRW=2!SNN!;V2=27W G4TV:(V76'[?++C:<QN5E.2X
M$(05@./5U'F ]W,XU DFXD^"=Z*U#;259\9>],YOZ=3Q-!&F.)%: JF?+9YC
M2K62XOA1BSK--75B>_M5_;,QK\P\(X'GC/Y%4IE-G9$#4KQ")97?V.X+K@T9
MP(118;[!KHJ-Q@Y(2B%97B<K@IP4U2_Z61>BE0##$PE^G>"_-2&H$P)CM"(S
MMIZ01+,)9SO =;12TQNF-B9;N2&%OHU+R=59HO+D;,X*P2A)D<0I>$04%0D&
M2RTGP,T"<5S(#$N2('H+/H+ORR=P\_X6O >D ']DK!2H2,7$E8I$Z[E)?=7'
MZJK^B:O^7M(!\(([X'N^;TF?]Z<_X60  FC283?=5?Z;(OA-$7RC%YS06TIE
M7_6F!&P%/I-"%8$@"A9,$--K?S\\"\E5Q_UCLUIIAW9M_3>\%QN4X*FC_F<"
M\RUV9A_>P<C[9#/^/XEURA T90CZU&</.>.2_*<:(6'"U"(IN>X =;>W6$A=
M(>O-KF0C(ZO7C>T,CL)1.)ZXV[8W2U@00S]LPCK484,=]E-3M129ME6+&D@X
M3HD$E F!K:R5V+ %X1U@]D5T"(<-X?!:PKO7$MM0AT<@<0@/8"TQ<63'C1K<
MZ,(V*%CQ\8VM$!WQA$,OB@Y;X3AL.(K'(V@GCQOR^/I"MTS8P..CYCSLB[Z(
M#NZHP1WUXB[4Q,(** 5JF4]>P 9QL$6TQ.!&+:\IHQ1Q 3983=U,K<2W-NSJ
M"G$;:N =-LF9H [\N($?7P1O$ 5 I<P8-]VC351'K>3CXT[Q].> _6Q8AQYZ
M^[GG7<-/A"C/L]?:?:M(;TB7N36KX37,ZNE,2#6(2;$^"P[/@_>%=,'W\Q7V
MSBWUE)'G:HY>W^:U_JC;PIY_R'XNK,N_'XRP?S)V^"_N]%J\7=' JS^'!MX2
MVC6QGY.P?U"V3=Q=V._',Q'&03".+0YLH<-P!$\[V,]1V#](K0XNZ?[C:7G2
MABW4;L-M/7WK5Y^OB*])(0#%*Y7K#6(EPJNWB6I'LHUY(']F4CW>F\U,O8%A
MK@/4^15C\G5'/^,W[W2S7U!+ P04    " #@@ )5D39\=E$'  #Y'@  &
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
M@J+-0-%24#0&A::R+K4!?.D:!6P>$" D,)[J9BNC9LA6I: #I>[K&>S]2\@
M6,H ^'L6*KB-#5Z"EM,)^OYJ!FHR!45C4&@JMU);P)#E"M@6'5." SUVP9:*
M!:*S BH#'!T:UO<1EZA:P%()P)>J6W ##UXXMLH%%!J;;-"X'A2-0:&I3$H!
M ,/7+V!+-4'LZX'CU&UY\,;B+*,IJ%$&A::6L,K8G\ 4,1!; 0"BD<Z(V]S@
M2E30(H8SKX%!654ID2(#>4D1 [%$_2A$6-^BN8T,)@)40SCS&AB4594(J0Z0
M/ZZ(@=A2^C2.]'RI>XB#:00]E@"*QDY[1*51ZA;DSU3&0$SM AEK$[2* 10M
M!45C;F^HA!Y\[H+[>,(+,@K$<F8_],VG&*A@ 8J6@J*QDPY1.9)*!'E>$0/N
MU4%DY<84%0(<)TE,=78L10Q$WY 34W](2(1"O2#5THX&".EG2)BEW3A,XO#(
M!\(0J1J0EQ<QN+QF*SO QMFPZ9GM9N[1#IZLH!H %)K*E-0 R+/+$UP$F2%^
M@,5SC1C3VE*>8$YK,WQ/,";ZAR&EEG8DCFD0Z-/:(@>$F(;TR+26\3L!*4]P
M.0XTCB>V\@0<Z4<X9J!64U T!H6F4BH#>7+1\@0"6IX BC8#14M!T1@4FOJI
M1U(AH)<N3Z"6]#[2 QUJ'A304PKGX*3NJQG\N4>7D *HE +H]RQ.<!L;N@"I
M&<0;3RM0BRDH&H-"4ZF5X@*%K$V@MA)_;'QJX92:)PZ,502J 9PY, 9E5?6V
MU #HI4H3W,"#%XVE- ''^AX$U&8*BL:@T%0B9>Q/W;'_<Y()U%(E@!(C0G);
M'KJC.,]H"FJ40:&IY!Q\0B),:0*U'>L/D"%^NLT-9@2T-.',:V!05E5*I+I
M7U*:0$U1@,:)43COMC&8!U"%X;Q+8%!&51JD=$#_N-($:OL40HR,K0%H;0(H
M6@J*QDXZ1"512AKTSU2<0"T'#\S]'FAQ BA:"HK&3KA#I51*&O1BQ0G4=A@_
MT8OEI^X!#&8(5*< 16,G':)^^J\4(,+GE2<XI,/0\E$'UE2"I:&IN5H:65,)
MEG;65(*EG2N5$$JY('QY>8++:[:" DLJX<QV,_=HATY64#0&A;9E:G+PA1G=
M%ZC\,ZL?\K+Q"GXOX/VWD?!5O?U.DNV;MEKWWZ'QJ6K;:M6_7/)LP>NN@?C_
M?56UW]YT7\NQ_V:8F]\!4$L#!!0    ( ."  E4<FC*U$@,  "<)   8
M>&PO=V]R:W-H965T<R]S:&5E=#DN>&ULK59M;],P$/XK5IB@E>B2)FDW1AMI
M?4& -&E:-_B ^. FU\::$P?;:3=^/6<G"VV551/L2VQ?[GGN_/CE/-H*>:]2
M $T>,IZKL9-J75RXKHI3R*@Z%07D^&<E9$8U#N7:584$FEA0QEW?\X9N1EGN
M1"-KNY;12)2:LQRN)5%EEE'Y. $NMF.G[SP9;M@ZU<;@1J."KF$!^JZXECAR
M&Y:$99 K)G(B835V+OL7\X'QMP[?&&S53I^8F2R%N#>#+\G8\4Q"P"'6AH%B
MLX$I<&Z(,(U?-:?3A#3 W?X3^R<[=YS+DBJ8"OZ=)3H=.^<.26!%2ZYOQ/8S
MU/.Q"<:"*_LEV]K7<TA<*BVR&HP99"RO6OI0Z[ #0)YV@%\#_$- ^ P@J '!
M2R.$-2!\:81!#;!3=ZNY6^%F5--H),662..-;*9CU;=HU(OE9I\LM,2_#'$Z
MFHI<"<X2JB$A"XT-;@)-Q(HL4BHA%3P!J=Z1^:^2Z4?2N49CKE/0+*:\2WKD
M;C$CG9,N.2$L)[>I*!7-$S5R-29G0KAQG<BD2L1_)I& 7 DD5F2>)Y"TX&?'
M\<,C>!=%:93QGY29^$<)OY;\E'C!>^)[OM^2S_0E\-#"^VW3^;_H\W^.OB=&
MT&R3P/(%S_#M[PPMXOO#G?'C<JFTQ'/_LVWM*_:PG=W<A1>JH#&,';SL%,@-
M.-';-_VA][%-^-<DF[TFV?R5R/:6*&R6*#S&'DVI2DG"-BP!/("D $EBD65X
M&2MSDDFG5(FUVF&W;96J .<V@"DPF\@[]8:#D;O9E;_=:]]IUN;4#_:=YJU.
M?N.T)\.@D6%P5(9;^D!@M<(Z9+9JF6/QY.PW7FYK+)JDPX5276(JU(8R3I<<
M>EAL>XIRP ML TJ;7=YZ?U5QASO9]H8?S@_$:7/J'VC3XA.>!>&!.&U,X?!
M''?GYL] KFW)5;CP9:ZKT]U8FZI^:8O9@7W2OYCV6^PS? 541?LO??6$N*)R
MS7)%.*PPE'=ZA@G+JBQ7 RT*6W>60F,5L]T47S(@C0/^7PFAGP8F0/,VBOX
M4$L#!!0    ( ."  E5Y]4JQ0@0  /@)   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$P+GAM;*U6VVX;-Q#]E<$&"!S T>H6VW D ;*3MFF1UK%Z>2CZ0.W.
M:MEPR0W)M:2_[PQ)R6M ]DOS(BW)F3-GKN1L:^Q75R-ZV#5*NWE6>]]>Y[DK
M:FR$&Y@6-9U4QC;"T])N<M=:%&50:E0^'@XO\D9(G2UF8>_.+F:F\TIJO+/@
MNJ81=G^#RFSGV2@[;-S+3>UY(U_,6K'!%?H_VCM+J_R(4LH&M9-&@\5JGBU'
MUS=3E@\"?TK<NMXWL"=K8[[RXE,YSX9,"!46GA$$_3W@+2K%0$3C6\+,CB99
ML?]]0/\A^$Z^K(7#6Z/^DJ6OY]E5!B56HE/^WFQ_PN3/.\8KC'+A%[91=CK)
MH.B<-TU2)@:-U/%?[%(<>@I7PV<4QDEA''A'0X'E!^'%8F;-%BQ+$QI_!%>#
M-I&3FI.R\I9.)>GYQ2HF TP%*[G1LI*%T!Z616$Z[:7>P)U1LI#H9KDG>ZR5
M%PG[)F*/G\&^@,]&^]K!1UUB^50_)YY'LN,#V9OQBX _=VH P\DYC(?C\0MX
MDZ/SDX W>0;OA)?P]W+MO*5B^>>4PQ%O>AJ/&^C:M:+ >48=XM ^8+9X_6IT
M,7S_ MOID>WT)?3_F:KOA0U+!RW:1GJ/):SWX&L$VRDZ(65>K+#HK/0L*W0)
M'W=%+?0&X=8TC72AFT7;$II8*P1OX$LGK$>K]G"/K;&>D#1PS\%H^/;+.8,Z
M!&T\(UJ$PE ]:4?F&;\T?,2;GF80"*6@E*Y0QG64 QH<WSII(]4-:K0DL*=A
M4&#+#HA'#ULK=2%;]N3LQ^7R[LV ^%1H41<(KC:=(A"DYBL#:W:5C#J*2RD8
MJI):$(!0X#QMT.3R,0(651"('I 1U5$_T$? H+"T0N]?O[H:CR[?4WRU[@@C
MAJ(?B5^ 9G!0V:.P@-Q4\ $+;-9H83(*;3$*0@*JCN. KK"R#>./DF-(E^9Q
M+[]][U-^!_ I\C*MU$F1EXW0-*39*=ZY-1N-._JSQ%($ V<LE25OLC<A;<%
MV& 33Z+5:=&5\MFX]=,IRG]I$(;]\P B7:!,/#1/9G5.(:::L[SY1+BW.&8A
MI8[JPT%E34/VJ:;.?J7DP.B2>'/*3G!B&TI0_7+LV&,'FH+O'/<-@8:.)[%*
M2"[E4ZE]1&V-D_%6"FU#@VT/::Y% J&KT-'=$@0D_U';)<.'0O"U17S;\)0-
M6D[NTHIDI2E=JI(^?A ,&]-8,=%@;%(N3ZIUZK+:J!*M2]R!N\CO.?P-.5KS
MK?R 7,NFP00@7 T57?*/] XD4FBP',#O/;]2F_9;H5<@J\=BH #\]KV<MV&2
M'%,GZ4SJ,J24'$K%?F!(::6.QUU+;PBNU&0Y-!<WX>#46,][MW&#=A/>'%S1
MU&GQ8C[N'I\URWB;/XK'-]%G83>27%98D>IP</DN QO?&7'A31ON]K7Q]%((
MGS4]S="R )U7ALHZ+=C \;&W^ ]02P,$%     @ X( "58H8I_^V!0  JPX
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
MD"GN5:_J""_$K]=*7 .(&Z$AKKETQ);/)M,]L4(RK>#R0,SP50S;%W*VV7#
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
M(XH2/PIC6&!!KJV"'\HB1&-2K8'+;@IU V'%=.ZBH&<U%">76:,U>2BTJKI
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
M<7.1 -:)U-V -MC^)\/UWU!+ P04    " #@@ )5:@V<,'8"  !S!0  &0
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
MBS(/P(S#:5PXO1D&PE([2H]!;&F>H_$7Z'REM=LOO('#/X3Y5U!+ P04
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
MK/$!QC888']C<&J&EQ!@_*1;_PM02P,$%     @ X( "5:'Y#[,;!@  L@\
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
M1I<HB84IVAHL6TH^5*?XR U4PK"ZUKQFEE=8@1Y M+X5$,!R!S57M6;=6I3
ML"NX$JF@[U!J$;X<W/N=@5+UZ/@=J!54JA&E0&TO!6U3O6%M95Z=(B/-^>OF
M*)O@5MS=7\#DV,&0&WZ2NDGTB&2!%$3)#+R >11D682#*)P%:33#41S-@C@*
MW2@/XBR%-[W&O@=Y%,S2$+)Y,,\+B.(TR),(HJ@(PBB#']%>BYESM18M@V(6
MY%%.>XLPQ[VX!Q7/BV">IO ;^D+#P@@&:1SD*$BC($3,61%$10)%'LR+F @4
MJ"-VI/)Y$&4TRC+$2C(:(>5HEOTO@1N7[:[[>G&XM:B Z0HZK:J^M 9P#E0P
MHN04G3B.@K1(:92D01*33])B'B09K:59'N3I#!9=)S&<9,IKT_%2K##]QE0#
MHV1/(@-9@BY, 9%F20Y%$>2S"#),@*1XMJ^OE$&:5L';7JZ$E, .'60O6^UE
MY2C#:D"7E[(G7Z%[)]>:=TQ4P._PBVJX-UVYQ"A[K7F+9XSAUDQ@*![4@[:(
MRH7QDDG6EAQNW;>:SK*&*@I%2.!%E 9I/ O",'2R%U$8S++4SPW5W+V@T)8?
M>,F;)6I/(A^= '."O$G?2;D[@47I2M90S^!B0UD6'&Q?.*Z!@]HO_BK84DCL
M+FC>_KC>'\>AZX]D:N.%N%VB"80R> %I5F.O'F-J8(L=9NV<BAA*D]G,DI>$
MAA8=PHT5S9#O3(J/3MV&R9Z?N'*Y4DW'VAW01<7B'[D?&)60\RJK:<V"H)1\
M@#B6#I2:5\*"5&BY.3D8[:-&D3<"(=#7?3N8-1;9R%Y0W+=KWAZJTJFAEOS1
MYPFK-HX1PA (%;A3SC71!O;,U!_S\)BH/(K.$5N\Q'#T_(&M#\8 6:&[#;GE
MR 9OPAA""LI@+V8B<<76A&F$\T^">-^\49T^?)).GFIM5!:'J'T6%7_+$W;G
M1+39C&T+.OP$*"R_SYO7I]UO+#5?.)_5"3:'HLCAO1:6OU:K%18!9:"SJ%0;
M5(-$7B;Y*\"+(UX+6RSY<LW:&DW%# 4_-A!]HN@>)]211L_QQC.C]Y4<DV1!
MD28H(E),'H=Y2!$Q7@Q\R_/*[WEPO)Y@4YXEZ;T;RQ'<WFX$[!!#CW:\Q#:(
M;?PI[[^,\&.>O7HB!EF0X#=@@?Y#)>3#$HVB#EX)9!\,;=JWEC5"\"'Q6V6I
M&/!+7&)F<I^WXS=YJ!S21^M8G*UA_I6"EI0^PTLVM/8>A5:8E< IFN@^XJZ"
MEE+4KA%0%T;VO3Y4/9+94"I@.8H:KR>>M*-6]9J-SI3<4!;1OI;#CC-]\M"%
M=7KTP,"LJMTS:KC1^;?&?G7_4EOX!\IANW_FO6.ZINXK^0J/AB=%-@'MGTY^
M8E7GGBM+93&%W7"-KTVN:0/*5TK9<4(*]N_7BW\!4$L#!!0    ( ."  E6
MRO^B.0H  '(?   9    >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;,49VW+;
M-O97,*K3VC,TS;NDU/:,DZ;=[DP;3[QI'W;V 1(A"1.*4 #0BOOU>\X!2%$R
MY:2Y3!]$D03._0Y>;I5^9U9"6/9A7=7F:K2R=O/\XL+,5V+-3:@VHH:5A=)K
M;N%1+R_,1@M>$M"ZNDBBJ+A8<UF/KB_IW:V^OE2-K60M;C4SS7K-]<,+4:GM
MU2@>M2_>R.7*XHN+Z\L-7XH[8=]N;C4\77182KD6M9&J9EHLKD8W\?,7&>ZG
M#7](L36]>X:2S)1ZAP^_EE>C"!D2E9A;Q,#A[UZ\%%6%B("-]Q[GJ".)@/W[
M%OO/)#O(,N-&O%35G[*TJZO19,1*L>!-9=^H[;^$ER='?'-5&;JRK=N;%2,V
M;XQ5:P\,'*QE[?[Y!Z^''L D.@*0>("$^':$B,N?N.77EUIMF<;=@ UO2%2"
M!N9DC4:YLQI6)<#9ZSNKYN_.7X!<)7NIUF!KPTE=KS[@O;B\L$ %]U[,/<87
M#F-R!&/!?E.U71GVJBY%N0]_ =QU+"8MBR^2)Q'^NZE"%J4!2Z(D>0)?VHF<
M$K[TF,@KKH47^98_@(=9=J,UKY>"[O][,S-6@[O\;TAXASL;QHTA]-QL^%Q<
MC2!&C-#W8G3]_7=Q$?WX!.=9QWGV%';'^4I5I=#F!_;J?2/M ^-UR9Q(L[Y(
M9HCY)]$/,_\Q!V&T@=U6O#;L/RM!FWC]\/UWDR0>_VB8(02.-[[ENC3,KKB%
MB#80.4S6;-Y'*SS:N8+ -Y:IA</ U ;738" 5LNY!7QNI:FE->QT].;NK1F=
M!:21C="4L>JY. YPZR!"=F.0#CC: _-^%@"3G2QLQ4L69T&21T$41<R@N@WC
M]UQ6?%8)!J38$CS( FHP#D/TCM0&]1)Z)7D1&$"[[<#15MH5< QR"SV7(/@&
M6!5,O&]XQ:PB-B!=OH/\?,^K1B"C=D#-H,0UJ,]1!?7B'L=2R:T@G2Q%+32O
M0,A[@9J]!TX7JM&P5POAKX[3UYY3-.A"59"Z9;UDEH1U^5O^)<P@(WUKN:2+
M7HH:PMU&?CA?8WY "TE5,H%98D_USYT[&_8GI511GO?N;I9++98HT>O&&@MB
M(6.<[/>3F(OU#(1*8\(4LW%0Q!$[8=DT3"?L%Z_R.(C2B!59&"7@Q4[M)3N-
MT_2,95E8% P2_D)(W ML@T=*31OBR1G+IV&>#A#O2\ F03J9 MT\#N.8%6$V
MAH>D"*9YW%(D50Z 9D%*N[,TS J6AVGD0(LX[ZR"YNMX$^38X"EDU &,I_$9
M*&*:(-8\"K,<&$H+SQ"H!==_!5.5I22;>:=KB;1AUX\'1Q8<F6V4)B#OE4V]
M#[;CRS*CUN#=2M84]+A[T=A&B["3Z[$T$"AS7LV;BN/K&62[S:9Z(*U#R!@K
MU[2P</8"9$RC;W@1#KD)G3]SJ5TLF4?9I0M+X%#P>>>EE ]=O H@LJ/<& J,
MO3#9MM[*(<*@LP&C0,PX L^!!0@S%P.^1K*[-BC:%WOVHX?,>_3QE3?2O#M?
M8 B3"N)PRI[!-:>KNT_A^JK5<0F!64+TL0<IJI)%Z-;/X"^-Z2^+Z ^\I@=S
MK\ 0LL* 3G$A1;R[NVZ?%7K-3D&'#X)K<P8.![$(OSQ,X#<YY!6MHO=?;<&1
M7<UH-IA'F(66TS3Z 2P#V;RA2KU=*4B81 SW^Y)!*YA5T2KPCFHY95/<Z!W5
MV3L\JHY?VESI''_>:(UX#W9)<^B>=0V4Y%^M4\RY6>V 2C&ON'8[AU+G"P7E
MD3(9))RY5=I0WB9XAW%7-SV*>:7( WVUH=JAZH/L'PY:$+4N!MX_4CV4EIFL
M>1OG*]"Q D*@T1[4IY0EJC@?MPH)+=>;2NXS1C5$\[*77HY0)7+A@3_NR=LY
M#91K& L@A6BU)EP@JEI+8 SH6E3G6I6BVJT#8\ Y4A;WV&<YJT"#L5P*W95Q
MXX6% <9EG4=)@<QS3L7YDS)2V>C6J^PNA9"N#HNJ&:BJ+G&=Q),0<@4"G21)
MF*;43J%.0 GH[.1OGTFIS42.4IJ$T=A12J&6C?<I.:5894'14!& H)'SHSH0
M795N^X@O4,$TS:B+0[ TB*93?!K2PV?1VE="' =%$G?D3O(TF&:3QP3[ZGC2
M&WQ!^PIJB(-X,MEQ!LW .$F_I2J"21KMZ*7C('//AYIXLVO773/ZUK7KV*R?
M_8V.] ?#$.0K]: W/FQ_5VU3<:SIG"0I-%<%U+JB:SFS";2!:0BE\@\'?#K.
MSM@DQFH[W&RF!93-(LR+1Q3W; E6G&9(#D/LH+W!S:0!B6D.,QX,?*7/[;Y(
MJ!G.>:1%/V7X&K(X4*5WP\/2PBIAG-9]B[0CW>5:U^9U9=#\[81(0GS=/)B!
M>7+GB627;Y<'QWDXG3A*DS'T] .!KX7;F^SB8^QR%$E.!<:[P!=*/R1FG'94
MXYQNOP9!KX1#:6][<_FQ0+_]C$B__4="G1J.Y$>(O_:N#?@T94429M,VWMOU
M]G\PZ \W/1GY*649HO&[\O*3%[6! HB?MN%1E82?B_%3O>)P$$/A;MM4U>NH
M=],5GBF"O;FN%%!8XSIVBJXW@W&OG<A\*E(S/NOZ4CQ9,HN'%A4F/$QQR*S/
M>="/NN$7\YS<>.I^2J5#*Z<#?Y#SU'%8[PB,X3&BE0L)SH6.+:"E50\"A^!-
M*P#T/C"K;A7@5\T&QD-5=V=?R#"R+VH)FH>8X?Z$$CGGM0+F],%>F%B8>]\2
M\]FV9<D/,I6;I)&SO4':S2^/YFG /'Z&:D;\ P=Z&&Y'V.P0Q,DSVC?(XBN<
MM7%8['O60FICV?N&:ZA=^P<06MQ3DXUJ/62VJV_-IB2A6O$HACHC $"-/3KJ
M![S.C57.ZASM,L>!DXX2!L\G 16T-'E:4,8$( I*)S+,>1\'3O*\!QH?.82D
MCK"I81Q4RQKR7CF,4 OGLD"P5O6YCU+A3XC)2 '*5#7E;EKLCG9<[@36*08#
MFHM.BFD09XEKT+8K"?:1^R<T,R3;L47C#G]<U7V200<("W<>T&]V^\XT*!FR
MA99O)00A\!S)\@_ 0"T6TO:Y&.I3CZ:YMC%-@NETW.N$@RC+/M8(?T)A\>@3
M:++S78D]R8*T&.BS_W&E''3K43#NM^LPQ^3QERAE'SWX]CB=]J:!("L&=$Z%
M:% #=-[#-]+B:<MP@02F'E7L<+"K\*VKZRD^JOS9 U*F5RCX\#&A;Y1?0GRI
M2KH\=&?AC[[-(*^O 8:[FG-*E48U!G1ASK[=$>%+Y3ZH:#RY@*I[ G-) M<T
MC^$*YLUR/".>3K$U@TB=KP+(96 (M4&VG;%%O80Q0E"63H,)@((W%QF;! D
M0AP58W8GJ@K6@_:3@X/D)0P@TA7%>P$ !8"-@S3.63P)QM&4^L\Q]C4N)O&&
M_! /JRF,\(9<APU]3KOH?0=="[VDK[UX!M74UGT2[=YV'Y1OW'?4W7;W-?HW
MKD%, ^/- D"C<)R/F'9?>-V#51OZJCI3UJHUW:X$+X7&#;"^4,JV#TB@^\Q^
M_7]02P,$%     @ X( "5:SV$]6V P  * D  !D   !X;"]W;W)K<VAE971S
M+W-H965T,C,N>&ULG5;?C^(V$/Y71NFI?>%(" MLMX"T[%[55CK=:K<_'JH^
M#,F06#AVSG9@Z5]_8P=RH /4[L,NMC/S^?MFQAY/M]JL;4GDX+62RLZBTKGZ
M+HYM5E*%MJ]K4OQEI4V%CJ>FB&UM"//@5,DX39)Q7*%0T7P:UI[,?*H;)X6B
M)P.VJ2HTNP5)O9U%@^BP\"R*TOF%>#ZML: 7<G_43X9G<8>2BXJ4%5J!H=4L
MNA_<+6Z\?3#X4]#6'HW!*UEJO?:37_-9E'A")"ES'@'Y9T,/)*4'8AJ?]YA1
MMZ5W/!X?T'\.VEG+$BT]:/F7R%TYBVXCR&F%C73/>OL+[?6,/%ZFI0W_8=O:
MIJ,(LL8Z7>V=F4$E5/N+K_LX'#G<)A<<TKU#&GBW&P66C^AP/C5Z"\9;,YH?
M!*G!F\D)Y9/RX@Q_%>SGYB].9VMXIKHQ6<GJX,GHPF UC1VC>YLXVR,M6J3T
M M(8/FKE2@L?5$[YJ7_,K#IJZ8':(KT*^%LC^Y ,>Y F:7H%;]A)'0:\X06\
M#Y\;X7;P]_W2.L/5\,\YC2W$S7D(?T+N;(T9S2(^ I;,AJ+Y]]\-QLE/5PC>
M= 1OKJ'_KUR\#>F3@H_(2S!(0UB3'KB2X$%7-:K=#Q86&DT.>@6/PO"YT<8"
M-J[41OQ+>; U7T'9[!T?_E[2_OGY*5JFJXI/GO5L^G!OO05G===&;)_9$PI'
M\#FDO<EP$I!MB1QN0 ?(H-9]LW7#-6<82%BH6ZD]$"J332Y4 8/>>'(%:#"8
M=$!Y8[R'IV3%Z_O*ES349(3.@7QAGQ.P+07'E-76DAR;'"38,[SZT"7A7 #>
MD /DNRW/A;_D4,*[T7_/R.-;Q%[*UNC'Y'*(.8_#-LIG4R4)-YX),J+O)'Z\
M1(DJ:ZOL9ISVQK?#X(_GRZ@/OQ\1J_"8W('3MUMSD<"J<8VAO6[+5SHWO% V
MOFG !HT@OC9XSQ6&;!Q55@^0@\:6')0 K K;1D@PCRQHSX5L0@-:&5T!<8WH
M'5&; L MYYI=VEEM1$:]EBW@!H7$I9!\:?$^*H<,;<FJ^!KC*)'B9GRB69S6
MB>8@K(]K)<1-N-,B8+)&-T4)OLVSAUGS0Z#SZ/FA;5 YC_?<2()!LAR]'P#?
MH"%&-2>)S;3QD63^&W0D=Z"HT$Z@/PQLJ2R&'FS[YV[)^*A[562*T*,]RT:Y
MMI%UJ]TSX+[M?E_-VS<$GZM"*,OUM&+7I#_AKFO:OMQ.G*Y#+UQJQYTU#$M^
MRI#Q!OQ]I;4[3/P&W>-H_@502P,$%     @ X( "55( T6Q:!@  EQ$  !D
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
M#! 7WJS"JS<**%[DP^62)&H#;\#STF",;1=\0/<MYN0_4$L#!!0    ( ."
M E59]5*#N0(  $P&   9    >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;)55
M;6_3,!#^*Z<@(9"Z)4W2KAMMI74, =*D:@7V ?'!2RZ--<?N;*?9_CUG)PT=
M=)7XDGOQW>/G?/9EVBC]8$I$"T^5D&86E-9N+L+09"56S)RJ#4I:*92NF"53
MKT.ST<ARGU2),(ZB<5@Q+H/YU/N6>CY5M15<XE*#J:N*Z><%"M7,@F&P<]SR
M=6F=(YQ/-VR-*[3?-TM-5MBCY+Q":;B2H+&8!9?#BT7JXGW #XZ-V=/!57*O
MU(,SON2S('*$4&!F'0(CL<4K%,(!$8W'#C/HMW2)^_H._9.OG6JY9P:OE+CC
MN2UGP22 ' M6"WNKFL_8U3-R>)D2QG^A:6.3*("L-E9573(QJ+AL)7OJSF$O
M8?):0MPEQ)YWNY%G^9%9-I]JU8!VT83F%%^JSR9R7+JFK*RF54YY=G[G:6-^
M<KE%35V 5<DTFFEH"=R%A%D'M&B!XE> QG"CI"T-7,L<\Y?Y(9'JF<4[9HOX
M*.#76IQ"E P@CN+X"%[25YIXO.05O&NF)9=K TO4;97P\_+>6$T7X]>A>ENX
M]#"<>RP79L,RG 7T&@SJ+0;SMV^&X^C#$;)I3S8]AOX_;3D*=)CF*^C0^UGG
M-ZV_03JLC(FL%HR6@1DHE*#W;. =EV!+51LF<_/^ KZ5&O&DVKL*L.)/+QW4
MV6?H&ML:J3>&1U86S/",B/Q%,%,50>]XTM QEHA0FV%XE@Q&T1G)\6 <C[T]
M22)OIZ,4KHN"!@.H G(N:C<: !]K;I^!-4SG!H:#=#(F,LEX!/$@2E/21_'D
MWT/J.-"^G7KB@+9,H+2'F:6#\_.$Y#G)(<G18'*6MO8DAD/7)]Q[X17JM9]C
MAO:KI6T?>^_M1^5E.R'^A+=S]H;I-9<&!!:4&IV>C0+0[>QJ#:LV?E[<*TO3
MQZLEC7O4+H#6"Z7LSG ;]#^0^6]02P,$%     @ X( "5:U])RUK!@  N \
M !D   !X;"]W;W)K<VAE971S+W-H965T,C8N>&ULE5?;<MLV$/T5C.))7UA)
MEI7836S/V&X[3:>99.I>'CI]@,B5B D)L  H6?GZGEV0%%U?FKR(%V$/SIZ]
M@><[YS^%DBBJN[JRX6)2QMB\F<U"7E*MP]0U9/'/VOE:1SSZS2PTGG0A1G4U
M6\SGKV>U-G9R>2[O/OK+<]?&RECZZ%5HZUK[_355;G<Q.9[T+WXUFS+RB]GE
M>:,W=$OQ]^:CQ]-L0"E,33889Y6G]<7DZOC-]9+7RX(_#.W"Z%ZQ)ROG/O'#
MN^)B,F="5%$>&4'CLJ4;JBH& HU_.LS)L"4;CN][]!_%=_BRTH%N7/6G*6)Y
M,3F;J(+6NJWBKV[W$W7^O&*\W%5!?M4NK5V<3%3>ANCJSA@,:F/35=]U.HP,
MSN9/&"PZ@X7P3AL)R^]UU)?GWNV4Y]5 XQMQ5:Q!SE@.RFWT^-? +E[^XD)0
M:^]J]:/Q=#Z+P.1_9GEG?YWL%T_8OU;OG8UE4#_8@HK[]C-P&0@M>D+7BV<!
M?VZKJ9J?9&HQ7RR>P3L9'#P1O),G\&Z@2HC>-26IOZY6N$4B_/V8HPEG^3@.
M%\>;T.B<+B;(_D!^2Y/+ER^.7\_?/L-R.;!</H?^!6'X&GOUP:J?6TOJ-,F8
MJ0CO;US=:+M_^>)L<7SZ-JC&&ZY#E2. + K2RK9KW+2>O**[AKPAFU.AM%HS
MJH[*1-A5VN+.JG>V<):"T5/U&_!E34$L]EZ,@ME8LS8Y+]>U:W%Q:]#86+K[
MUNTL%F%O7H4[8[=DH\.60>F@=JA3ON8@C4UDP\."9+S:BU^/\X\EZ.XH4<(6
M.L("3:S;']Z[HLW1T)@[5NVPF77W.!>Z1E]2T8WE^R;TIMQ4Z)_6-.A1<:IN
M#;22E07V8D]C+XJVXFDTMC5V@_?>M9OR/VM-0)-KG(_WHJ5*%@.-#>QW)I;/
M>>P@6" D0@)F\ADPT6]IQ#D3.BO:((*\$/_D; 02V+\B:T+)+,=Z'Z+::<YN
M3=5541B&U%6USQ*D9=,*%:?VI/U#5U9$5OP1(9SRNFY4VX"3T@/:TPZN6P]$
MCTX8S8:E\R9\RE2!SNZ#6>\Q7)JF0DZ7F$?)4R0R7T9!RS7JV,3]5/U)DN?8
M2/3_$@9(R)JK8@Q8@8E7G9[L-Z0!FFA?Q7$JW!?$4^X\VJ8Z6BZS[]#TYO,Y
MPVP\EW/E.)H97N156[!>1R>OL^794I8!-!6P@;OW:JH/W+ZK 3V.'PJ@(*IQ
M!U]*O45R*HO9CX%>F<]Z59':ZJJ5G/Q,WHF$1V?9\OB[A]NB$39ZS^G/N5M)
MB0&V8S.JNZ&*PZ@N_[^(I^H: Q>DATS=&CX-A%[20TT:&UJO)2ZN,KEAX7C%
M6,KDKV2@)\3NL#OD@4]1Q!MPN"ZH"%V&)-=6Q$$CI%N1VNUCC?6 D6N/^O&I
M/X[+H"!D#,8YH[(@C?;1(.TX(Y#*^]Y!Q+[U(-M[8*3[K"1.'!DN!D)7HT,N
MH9(.!,9X1XO3[-5\+F$L6I\Z$7<L3_1MS5-<<<MW*!F>Y9@@"'$WB),']W A
M@M PH<M044^Q"HOYVX^<&D:J#R<X[NE@ZZ1VQ2,>"? H!EE__+:/\0VBBP 6
M$HQK7<ENMWR\29WZ/[7!J0O7'CJ,Z+L(08^.3[-E5UE,003$^+8IV"GW="-E
MW%$_S%*NV.?XW49<4OJ#Q >HIQDH2/GCS5C!+EP/.__:6##GX(<>#BQ#R^YD
M7 YHX_(2,\FZ..3JN%MU7G.KEG3*75MQCU=ZJTTE81JR]8E*NT)FKEM^R)Y
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
M)B\84$I>HS1<2="XG'D7T62>NOPNX0?'M=FQP76R4.K9.;?ES L=(1186(?
M:'G!2Q3" 1&-WQM,;SC2%>[:6_3KKG?J9<$,7BKQQ$M;S;PS#TI<LE;8![6^
MP4T_F<,KE##=%]9];A)[4+3&JGI33 QJ+ON5O6[^PT[!6?A.0;PIB#O>_4$=
MRRMF63[5:@W:91.:,[I6NVHBQZ4;RJ/5M,NISN:W\@6E59JC@:-O;"'0'$\#
M2\AN/R@V*/,>)7X'901W2MK*P!=98OEO?4",!EKQEM8\/@CXM16G$"8^Q&$<
M'\!+AC:3#B_Y3YMO<,5-(91I-<+/BX6QFN[%KWT=]X#I?D"GE8EI6($SC\1@
M4+^@EW_Z$(W"SP?HI@/=]!!Z_DC:*UN!H):P,Z%]- \"[:>Y._-"D;Z,Q=(=
M92N$I1(D5"Y7<,0E151KF"S-\01H)F^P&0E<88'U C4D41>)X(&MZ6):U)P)
M Q\AC?QL=$9&%OII%L,3J?.$RY-&JP*-@<@?ARED?GR>P#67G.YP"2NE2@-9
M[(_3$+*QGV1C0C@?^6$4DQ%%B1^%,>S[Q<&."&K4JT[JKL%6VEX/0W1X32YZ
M$?U-[Y^B.Z977!H0N*32\'2<>:![>?>.54TGJ86R)-#.K.A%1.T2:'^IE-TZ
M[H#AC<W_ %!+ P04    " #@@ )5)X=-4Y<"  "%!0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970S,BYX;6Q]E&UOTS 0Q[_**2#$I&AY[(-*6ZG=F !M8MH&
M""%>.,FEL>;8P7;6[=MS3MI0I*YODCO[[N?_Q;F;;Y5^-!6BA>=:2+/P*FN;
M61"8O,*:F7/5H*2=4NF:67+U)C"-1E9T2;4(XC <!S7CTEO.N[5;O9RKU@HN
M\5:#:>N:Z9<U"K5=>)&W7[CCF\JZA6 Y;]@&[]%^:VXU><% *7B-TG E06.Y
M\%;1;)VZ^"[@.\>M.;#!59(I]>B<S\7""YT@%)A;1V#T>L(+%,*!2,:?'=,;
MCG2)A_:>?M753K5DS."%$C]X8:N%-_6@P)*UPMZI[2?<U3-RO%P)TSUAV\>F
M(P_RUEA5[Y))0<UE_V;/N^]PD# -7TF(=PEQI[L_J%-YR2Q;SK7:@G;11'-&
M5VJ73>*X=)=R;S7M<LJSRVNDD@R\?V"90',V#RQ!W5:0[P#K'A"_ AC#C9*V
M,O!1%EC\GQ^0F$%1O%>TCD\"O[3B',+$ASB,XQ.\9*@PZ7C)Z0I_K3)C-?T$
MOX_5V"/2XPC7&#/3L!P7'OWY!O43>LMW;Z)Q^.&$P'00F)ZBDT!C$'WXVJ!F
MELL-=))]N.8LXX+;%Q]NF&TU6<>TGZ0?UW[5$@Y!#2<*=R+DS%30L!=J.FN
M400S4"I!G4N_")=@*]4:)@MS-H.?R'1_Z7").=89:D@B'U:U:J6%.W0CH:!%
M54+)3<Y$=Z/P%E)_E(R=D\#4#\/8F2F,_"A*G3F"Q$_#J3,IRI\DD3,G9(['
M,3Q42,.GM 2.(C],1@1,)GXZG<*QNP@.6J-&O>D&@('<:>R[9%@=9LRJ;ZU_
MX?V NF%ZPZ6A;U52:G@^H9;6?=/WCE5-UVB9LM2VG5G1G$3M FB_5,KN'7?
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
MXXN2ML4,/788.+WI^]I".SKBO;FFSQ(T?@&]7VKM]@,?X/"A,_T;4$L#!!0
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
M0_<;]YO3A1*59:#YI91F2U@%[15U^C]02P,$%     @ X( "5:A!702V!
MR@P  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&ULO5=M;]LV$/XK!Z_8
M$H"M1;T[2PPX2==M6+$@Z=8/PS[0TEDF*HDJ2>5EOWY'25;MSE6!;NN7A"*/
MSSW'>XX\GS\H_<YL$2T\5F5M+F9;:YNS^=QD6ZR$>:$:K&EEHW0E+'WJ8FX:
MC2+O-E7EW/>\>%X)6<^6Y]W<C5Z>J]:6LL8;#::M*J&?+K%4#Q<S/MM-W,IB
M:]W$?'G>B +OT/[6W&CZFH\HN:RP-E+5H'%S,5OQL\O$V7<&OTM\,'MC<)&L
ME7KG/G[*+V:>(X0E9M8A"/IWCU=8E@Z(:+P?,&>C2[=Q?[Q#_Z&+G6)9"X-7
MJGPK<[N]F*4SR'$CVM+>JH<?<8@G<GB9*DWW%QYZVRB90=8:JZIA,S&H9-W_
M%X_#.>QM2+U/;/"'#7['NW?4L;P65BS/M7H [:P)S0VZ4+O=1$[6+BEW5M.J
MI'UV>8OW6+<(MYBIHI;=29V\$>L2S>GYW)('9S?/!K3+'LW_!%H,KU5MMP9>
MUCGFA_OGQ&RDY^_H7?J3@#^WY0OP @:^Y_L3>,$8;M#A!9\)=Z-5!5?$59,L
MZ,CM%JZZPT8-?ZS6IIO_\]@!]/CA<7Q70F>F$1E>S*A&#.I[G"V__8;'WO<3
M[,.1?3B%?LC^Y:-%78MR)&Y@_02O4!5:-%N9P8J*U!P+8=+)\1#>;,FK*JF$
M95V =?H8ZEC^A09R:411:"R$Q9QJM:<IZ_[2<)HB:L4':H*H=<640]O0JB7X
M; CC.P.9:BDS3Z VD*M*9I*\G4AGIEHCZMR<GL&;K49\7NW)#>[DX^$$J><)
M!O'T'V'WP2=65D1!9L+ ,UAP%D6<!MQ+6<A3&OD\93[WNE',_"B$EZVF&Q)B
MSM+0@VC!%G$"W ]9''#@/&$>C^ 5Q4O9@JNMK 4D*8MY[&P3+R9;LB''BX0M
MPA!^I;/0L#)20.BSF!9"SCS"3!/&DP"2F"T2WQ%(R(??D8H7C$=N%$6$%41N
M1)1Y&L&$ZJ)1==&_5=V-5GF;60.4'+@CR<@,CTIOTM/_)[W=M'UJOIZ2[BPY
M$#J'9O]TS' Z+F\^9V$2NE$0LL!W60V3!0LB-Q=&,8O#%%9-4Y(@72C/38.9
MW% ![8H%C"I;MV0@"D@$(1!2&L20)"Q..40DX2#Y+]02CVJ))]5R1VU#WE*.
MJ'A7+FNBSEP"2?P:<VGA%V4,K-QC+.W3,8U,XG^11MSU(@ZX9#V7DKC0NAC8
M=$O.V.SR#PW=!BH'_*<*/I;1I2@[>+HZ*/1KS+!:4X("/LCA&>4DAK=:6GRN
M-AO#H*:>BTPU/;WWY(:(G 3Q*5"W0;U$#?B8;45=(&B2-O1C _PC1P><R$?(
MI[*8C%E,)K-XC1O4=$8P%#]S5;32VG&@ELPRN)8FH^-K-1[+X23Z%^<PW[':
MU;,KJ+$4<FR4D?:KI3.(6!(&T!\5W8A=*GM>:UF6Y$#N7C8B7=O!^4'>=RT7
MU60:A ==V![<&#<!-H2A=W&<^"D]4<GG-'/"Z36*3C^CG(@%G[@"YGO])9UT
MT771PS/=MYKC[-BHK_K^](-YW^6_%KJ0=%N5N*&MWHN$7@3==\[]AU5-UZVN
ME:6T=L,M_=A [0QH?:.4W7TX!^//E^7?4$L#!!0    ( ."  E50X^$$_@4
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
MA/H0T5QAFP_%*W-MG'-%EU S7-&M'X4FH/4%YZK[T KZ_Q$N_@902P,$%
M  @ X( "5:\\Z)O) @  3 8  !D   !X;"]W;W)K<VAE971S+W-H965T,SDN
M>&UL?57;;MLP#/T5P@.&%4AKQW8N[9( 2==A&U"@:+KU8=B#8M.Q4%G*)+EI
M_WZ4['CIEN3%)"7R\%"4Z,E6Z2=3(EIXJ80TTZ"T=G,5AB8KL6+F0FU0TDZA
M=,4LF7H=FHU&EON@2H1Q% W#BG$9S"9^[4[/)JJV@DN\TV#JJF+Z=8%";:=!
M/]@MW/-U:=U".)MLV!J7:+]O[C1988>2\PJEX4J"QF(:S/M7B]3Y>X<?'+=F
M3P=7R4JI)V=\S:=!Y BAP,PZ!$;B&:]1" =$-'ZWF$&7T@7NZSOTS[YVJF7%
M#%XK\<AS6TZ#<0 Y%JP6]EYMOV!;S\#A94H8_X5MXYM<!I#5QJJJ#28&%9>-
M9"_M.>P%C*,C 7$;$'O>32+/\A.S;#;1:@O:>1.:4WRI/IK(<>F:LK2:=CG%
MV=FCIXWY^?P9-74!EB73:.## UL)-&>3T%(6YQMF+>*B08R/( [A5DE;&KB1
M.>9OXT-BUU&,=Q07\4G ;[6X@"CI01S%\0F\I"LY\7C)$;P;IB67:P-WJ)MR
MX>=\9:RF&_+K4+T-7'H8SKV:*[-A&4X#>A8&]3,&L_?O^L/HXPFR:4<V/84^
MNV8BJP7S-U@5<*1=AUB?Q#W,ND-G+;II+L,6Z8RRE@GFP P42M![IGO")=A2
MU8;)W)Q=P4.I$<^KO1L 2_[R=H$:^@IM/QLC]4;_Q,Z"&9X1D7\(9JHBZ!U/
M&CK&$A'J+O1'26\0C4@.>\-XZ.UQ$GD[':1P4Q0T&-R9YES4;C0 _JZY?06V
M93HWT.^EXR&1288#B'M1FI(^B,?PWR&U'"AOJYX[H&<F4-K#S-+>Y65"\I)D
MG^2@-QZEC3V.X="M"?=>>(5Z[>>8H7RUM,UC[U:[43EO)L1?]V;.WC*]YM*
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
M!7C?++7UV,A2B IJ(U1--&Q2>A5>SF,7[P,>!'3FP"9.R5JI1^=\*U(:N(1
M0HZ.@=O?#N8@I2.R:?P>..EXI ,>VGOV&Z_=:EES W,E?X@"RY1^HJ2 #6\E
MWJGN*PQZ+AQ?KJ3Q7]+UL=,I)7EK4%4#V&90B;K_\Z?A'@X X6N : !$_PJ(
M!X"_.=9GYF4M./(LT:HCVD5;-F?XN_%HJT;4[A57J.VNL#C,;KC0Y('+%L@M
M<--JL$^$AIPM +F0YIQ\(/>K!3E[>YXPM <Z&,L'\NN>/'J%_'LK)R2(WY,H
MB*(C\/EI^ +R"8E#!P\_OX0S*W/4&HU:(\\7_UWK0IA<*B?7D)]7:X/:UM.O
M8PI[RNEQ2M=CEZ;A.:34-I$!O0.:O7L3SH(OQ_3^)[(7ZN-1?7R*/9NK&D6]
MM:]+<F6[L #-?2=)P==""GP^)K_GG'E.-Q%V69"PW:&F4Q%]HNR@/-UHN.5Z
M*VI#)&PL)IA\O*!$]^W6.Z@:7[%KA;;^O5G:"07:!=C]C5*X=UP3C#,O^P-0
M2P,$%     @ X( "519P*TG0 P  'Q(  !D   !X;"]W;W)K<VAE971S+W-H
M965T-#(N>&ULM5A;<YLX%/XK&MK9:6>2<#,X\=J>20QTT]E.,TTO#SM]D.'8
M: K(D83=[:]?"0BQ,<%VRKX8)/1]1^<[QT>7\8:R'SP&$.AGFF1\HL5"K$:Z
MSL,84LPOZ HR^65!68J%;+*ESE<,<%2 TD2W#,/54TPR;3HN^N[8=$QSD9 ,
M[ACB>9IB]N\-)'0ST4SML>,36<9"=>C3\0HOX1[$E]4=DRV]9HE("ADG-$,,
M%A/MVAP%IJ$ Q8BO!#9\ZQTI5^:4_E"-VVBB&6I&D$ H% 66CS7,($D4DYS'
M0T6JU385</O]D3THG)?.S#&'&4V^D4C$$^U20Q$L<)Z(3W3S%U0..8HOI DO
M?M&F'#MT-!3F7-"T LL9I"0KG_AG)<06P'P.8%4 JPD8/ .P*X!]K(5!!1@<
M:\&I ,ZQ +<"N(7VI5B%TAX6>#IF=(.8&BW9U$L1K@(M!2:9RJQ[P>17(G%B
M.L,\/D/J%_D/.5GC!#+!SQ#.(G2;K8&+5'6@-QX(3!+^%IVC+_<>>O/Z+7J-
M2(8^QS3G<C0?ZT+.1['J867[IK1M/6/;1A]H)F*._"R"J 7O=>/=#KPN=:C%
ML![%N+$Z"=_GR04R[#-D&9;5,I_9,?!! 3?;W/D]Z_[O60^ZX1Z$%\@VV^ [
M6MIU8MD%G]V16$46-7,+_?.W'(IN!:3\>UO2E+R#=EY5:4=\A4.8:+*4<F!K
MT*9_O#)=X\^VB/5)YO5)YO=)%O1$MA/I01WI01>[S)RY0!S"G!%!0-6.M:P4
M>)[ N5SYSKD,N^Q+Y!J&LQ"0[$,A@X@(E%#>6C9*>VYA3RV-ZZDQUM?;8>V<
MT:EA/6C.[]-<T&5N)P!.'0"G,P"S)S617*S)4]EN$[?D<CK$=0[IX1WD\ ]R
M!)T^O3!EW5HQMU.Q=TQI)7=B"?D%$5K*'5@AG<I51!>')'3WW#>=AH;[0]S+
MAH@M++;=D/$P3=#IZ0MU'-8Z#D_1464@G"+D<,^]A@"SX<%<W.<PG6%#QH,L
M0:>?+U3QLE;QLE/%CR(&AF8Y8U(G="TU;%>KD^74A;%/,J]/,K]/LJ GLIVX
M7M5QO?J?MD!7?4:Z3S*O3S*_3[*@)[*=2)O&TS'*Z/P/7X<ARV4)))D R2]D
M40Q!QEON@EH/1L9>1;*&MM4H?MTV3PW=43;]7FT&+39MPQXV]COZUODU!;8L
M;AHX"FF>B?+$4??6MQG7Q1F^T7]CCF9F2[]GCOSRKN*)OKPZ^8#94BW^"2RD
M*>-"W36P\C:B; BZ*D[/<RKD6;QXC0%'P-0 ^7U!J7AL* /UG=#T/U!+ P04
M    " #@@ )5Q+T3@2H%  !$'   &0   'AL+W=O<FMS:&5E=',O<VAE970T
M,RYX;6RU65UOHS@4_2M6=K2:D9H&VWQVDTAMNJ/M:KJJIC.[#ZM](,1)4 %G
M;)-,__T:0B& <8E$7A(^[CT^]^++N3;3 V4O?$N( #_C*.&ST5:(W<UDPH,M
MB7U^37<DD7?6E,6^D*=L,^$[1OQ5[A1'$V08]B3VPV0TG^;7GMA\2E,1A0EY
M8H"G<>RSUSL2T<-L!$=O%[Z&FZW(+DSFTYV_(<]$?-\],7DV*5%684P2'M($
M,+*>C6[AS0*CS"&W^#LD!WYR#+)0EI2^9"</J]G(R!B1B 0B@_#EWYXL2!1E
M2)+'CP)T5(Z9.9X>OZ%_SH.7P2Q]3A8T^B=<B>ULY([ BJS]-!)?Z>$/4@1D
M97@!C7C^"PZ%K3$"0<H%C0MGR2 .D^.__[-(Q(D#-#L<4.& ^CK@P@'G@1Z9
MY6'=^\*?3QD] )992[3L(,]-[BVC"9/L,3X+)N^&TD_,%S[?7H'L%_S^(PWW
M?D02P:^ GZS 0[(G7,39!3 &"QKO:)*?T#7HZ_?QG@@_C/@GB?#]^1Y\_/ )
M? !A KYM:<JE-9].A(PC8S,)"LYW1\ZH@_.?:70-#'P%D(&0PGVA=[\GP37
M,'>'=?>)S%Z90E2F$.5XN!-O*< S"5(6BI#('-SN9<3^,B)C669C+E,#_OTB
MG<"#(#'_3Q7P<013/4)6RC=\YP=D-I*UR@G;D]'\UU^@;?RF"G\@L%HR<)D,
MK$//YY,JP*.7G7MEKY;]'#H8.W@ZV9]25YBYEHW,TJQ&RBQ)F5I2W^0+CJ?L
M%2S#*%).N*._=3*N=3+HD5O;QE#3LDI:EI;6HRRG5UG,[$6^KL.$"Y;F1:,B
M:+4&Q]#T&@S;1A9VU!SMDJ/][O/,BSK(#DA5ZBJ2=FM\Z#B&:3=H*LQ<&]I0
MS=0IF3IZIBECDIA,9/GV47%T%(,C&S<?ML(,.Z9EJ3FZ)4=7R_$OFHR#?CS=
M%@$3N:8!&SS;9I8KB;IJGE[)T],7#!5^I&+EM89S7-=PFZS:9I[A8+NCC*%1
MB96A?\:4[2CS!0%WM$LZM CGODJ'0JO'>R+.\.+24@PQ5$(&0JLGI)):J!6O
MOD5>H-3*%YFN837FJ<+.P8;;43VP$D&H5\$O--F,!6'QNT1Q^[WN&-AMZJ+"
MSG0A@EU,*V6$>FF\Y9R(\9T?O)#5R4Q3<M4BG3V1!D*KQUU)+[0N7UE:>3\[
M(0.AU1-2Z3Q\1^A[5E9;O)%MVJW":IMAQ^Z23UAI/-2+?/_":@NXB6W/;?)4
MF7EF1V,'*YV'>J$O.\Z[KHY3#W#VY!D(K1YNU2Y [_+5I&U)SD[(0&CU%6'5
MJ*!W&I5^U52@U'4*VJ@Q2U5FK@>1>I:BJKU 6K7N7TT%3ITG-IM-L\(,>XZ%
M.WB>++#UJG^[(4GPVMWSZ=W/7CY?8OV,JMX!X<MO)VC;D[,3,A!:/2%5BX+T
M+4K?6FJOSZ%K.<TWOL(,N497*57]!-*OY?N74GN1;C0IMDUD,IV.E3RJ)![I
M)?XQ3<(@W/F1II*T"&=/G('0ZO%6S0)R+E])VG[D[(0,A%9/2-65('U7TK>2
MVIL*=FLW3&%D>E['>@15G032[SSTKZ/V'D.KCMHFMMFQRX0K:<=Z:7^F>\)(
MN$FZJTB/<.ZD&0JM'F_5).#+[T'@0?<@AD*K)Z3J1K"^&^D]10N<VFZVYS1W
M0Q56"$*O,4TG)Y]XLN]KCS[;A D'$5E+-^/:D;.<'3]9'4\$W>5??994"!KG
MAUOBKPC+#.3]-:7B[23[D%1^.)S_#U!+ P04    " #@@ )5OLH:$+(&  #:
M+P  &0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6RUFFV/VD80Q[_*BD95
M(H7@?8:40\K=-6VJ1(I"TKZH^L('>V#%#\1>N*3JA^\:"./+>I?'?0,8O#.S
M'L]OUG]V^%"4GZNY4AI]S=*\NNK,M5Z\[/6JR5QE<?6B6*C<_')?E%FLS6$Y
MZU6+4L73]: L[9$H$KTL3O+.:+C^[GTY&A9+G2:Y>E^B:IEE<?GM6J7%PU4'
M=[Y_\2&9S77]16\T7,0S-5;ZT^)]:8YZ.RO3)%-YE10Y*M7]5><5?GDM^_6
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
MZ%69Z%=D$J5"Q1S=K$62BN=4]LUYTI^83@X:O[^7VNR@/J!W*,G1UT6Q4B9
MC0;:3*$:R&#:#/=V.USB&>[OJ_02!?0"D8 0]&URC]Z_^W#8S< <@=UA(+O#
M0.I^J:??>_FLT41.JWDETLS_<$:JFM$_?YA&Z$'+3/W;-O)M FM/J*ZN*[44
M4WG=,Y>/DN5:]L:__H+#X#=@_'0W?@KU/DZE4D@O1(XP>I6B;!O?MH>P[J&Z
M6-=C')&0LM%@W9+,=LD,3,9]@OXVB:U?YK8IWXLDF'%&VB/Y+I*#D:1/_9'<
MB<0T)G'4'AGN(D,PDO:9/S)T(D,<^Q*'N\0AF,CZW)\X="=)>$C;$Z-=8@0F
M?A))B0P *]D6&;5,$@>4MV?&N\P8S+PKRF51&D;0;>$! >S@Q,L*!Y;'X.PP
M-!'_\Q3VA,>=;6BZ.#RC6!1XOEYL7<4@>S /3=N#U.$PH($GU6J(80Y!(9JV
MAW.-0^JY8+&5$,,4@DA@UT*.,?=0B*V%&,80= *W:.B' EL-,<PA3 5V060Q
MQY'O %L2,6SBC5)2]V_%]+N<[5V4K6, >SKUFK.4XNC\;(!<GSH%*S.&:3Z*
MC=C]@0]9Z%&#6'4)2"*L1M/V('08AAXTB'62P$Z":! 7R! /0T_FWK(3YA$D
M@[@\QE'H$8-8' F,(R@&<7'T'5CK(H%=A+4@+HS# /N,(A9& L/XU=RDJE7Y
MBFZ3-&V?*]C!B1<8L8B2\/SW'*#3IT[!@DQ@D(\Q@K0M5K'W-+;$$GBY"AOA
M+E?CR/=C2ZR)!#81)J(%0Q9[,JFUD,(6@D10UT+/Y4JM@Q1V$/2!N@[Z BV"
M%$80]H&Z"A+& P^]=.^.&6;PYD7FTU?_?0?<_-3[>8LF96?7@8(NGSH%*S"%
M!3ZJ*-&R0HWXT+-4I!97"J]001VHNT#UG<260@I3"-) 70-]@=8_"OL'N^#Z
MYPNT^%$8/]@%%S]/(+/R,5@^V 7FT@><.<SRQV#^)L5:EC)YR?TTP#V<>%TQ
MZR4[?[&2G:-:R2R^K'N]DAV]%&5[Q<HNU4IW)>H+M :R#K5*YN(7^Q8,S-+'
M.M0JF4M?'/E*P!8_UJ%8R8[&CUG\6)=:)7/UP['O9HU9 !D,X.,J3Z;)4J2
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
MJ-8<]=.<D;S!5,]Y05BJE%[/]< +P8P#"-*\> 8^6.$7U4XP?P/DGT!.2>(
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
MHS-FY?K)T!MDV]B-]Y:XM^.RX6&*+CCP^<I:VAHAP3">B]]02P,$%     @
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
M598W7CG18FTOC870> 79X0H_$D": %Q/A= /$W,/U9\=T1]02P,$%     @
MX( "52 HFX?T @  SPD  !D   !X;"]W;W)K<VAE971S+W-H965T-3@N>&UL
MK59M3]LP$/XK5H:F(@%Y:5J@:R-!TPTFF!",[<.T#R:Y)A&)W=E."]-^_,Y.
MFK40*K;U2^*7>YX[WXM]PP47]S(%4.2AR)D<6:E2LX%MRRB%@LH#/@.&.U,N
M"JIP*A);S@30V("*W/8<IV\7-&-6,#1K5R(8\E+E&8,K0619%%0\GD+.%R/+
MM98+UUF2*KU@!\,93> &U.WL2N#,;ECBK  F,\Z(@.G(.G$'DYZ6-P)?,EC(
ME3'1)[GC_%Y/SN.1Y6B#((=(:0:*OSF,(<\U$9KQH^:T&I4:N#I>LK\W9\>S
MW%$)8YY_S6*5CJPCB\0PI66NKOGB#.KS& ,CGDOS)8M:UK%(5$K%BQJ,%A09
MJ_[TH?;#"@!YV@%>#?"> OP7 -T:T'VM!K\&^*_5T*L!YNAV=7;CN) J&@P%
M7Q"AI9%-#XSW#1K]E3&=)S=*X&Z&.!6$(+(YU<$BYTPJ46(.*$GV2?O&'OF
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
M"\B:,^CF1M!M?<CZ2(6@17V9$IP05@'D\S6EXGA3==#]$[#X#U!+ P04
M" #@@ )5!)5#^I8#   ^$   &0   'AL+W=O<FMS:&5E=',O<VAE970V,"YX
M;6RU6%MOVS84_BN$5@PML$;WBS/;0&*I6(<5".)U>QCVP$C'-E%)U$C*3O_]
M2$I6+)?UTDQ]L47J?-_AN?B3CN<'RC[Q'8! CU59\X6U$Z*YMFV>[Z#"_(HV
M4,L[&\HJ+.22;6W>,,"%!E6E[3E.9%>8U-9RKO?NV').6U&2&NX8XFU58?;Y
M%DIZ6%BN==RX)]N=4!OV<M[@+:Q!?&SNF%S9 TM!*J@YH35BL%E8-^YUYCH*
MH"W^('#@)]=(A?) Z2>U>%\L+$>="$K(A:+ \FL/*RA+Q23/\4]/:@T^%?#T
M^LC^3@<O@WG '%:T_),48K>P$@L5L,%M*>[IX1?H PH57TY+KC_1H;=U+)2W
M7-"J!\L35*3NOO%CGX@3@.0Q [P>X)T#@J\ _![@/]=#T ."YWH(>X .W>YB
MUXE+L<#+.:,'Q)2U9%,7.OL:+?-%:M4H:\'D72)Q8GD/>ZA;0/>0TVU-=/'>
MHN-N2CC>;AELL8 "/7Q&=XP6;2XXPG6!UL#V) >.7J<@,"GY&PG]N$[1ZU=O
MT"M$:O3[CK9<FO*Y+>1AE4L[[P]VVQW,^\K!?/2!UF+'45874!CPZ65\= %O
MRR0-F?*.F;KU+A+^VI97R/%_0I[C>8;SK)X##S3<-87S_[QG+_8^2H8_M(VO
M^?S_:)L-HQ7*'@6P&I=HI?L5&/KK-VF/W@NH^-^FTG?D@9E<:>,U;W ."TN*
M'Y==!M;RQQ_<R/G9E/<IR=(IR;*)R$85"H8*!9?8CQ4R9;\#1AJH'B3[I1<'
MD9?,[?UI7@UFT<P-S\S2+\W",';\<&R6&<R<Q$V>S$91AD.4X<4HUT*J"V8%
M:DZ%B??"9 K^(M^WMMZ49.F49-E$9*.B1$-1HN\I#M&4%9J2+)V2+)N(;%2A
M>*A0_%)QZ(#AZ:_><X,X.!,'@YD?^.K1-!*'+\V">.:'9VR9P2R,HB QBT,R
M1)E<C/*F:4J28_5.\Y8WD),-R?MW*MF&G):MNF54B8O$W]J#4Y*E4Y)E$Y&-
MJC,;JC/[GBHQF[)"4Y*E4Y)E$Y&-*N0Z3\.!\U*=Z)&C![KOGO^R5P8S/TC\
MZ$PG#&9Q'"7NF4Z8G+JA'Y_IA'TR#\E>VNI!E*.<MK7HWG&'W6'8O=$CWMG^
MK7N]<@W[J1J.]?SU1-]-UA\PVY*:HQ(VTI5S%4M18]VPVBT$;?0T]D"%;'1]
MN9,#/C!E(.]O*!7'A7(P_&6P_!=02P,$%     @ X( "59$LD;%" @  +P4
M !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULK51=3]LP%/TK5QZ:0-KJ
M?!2&6!H)4DUCTB14QO8P[<%-;AH+Q\YLIX5_/]L)49$*V\->XGOM>T[N.?[(
M=DK?FP;1PD,KI%F0QMKN@E)3-M@R,U,=2K=2*]TRZU*]H:;3R*H :@5-HNB,
MMHQ+DF=A[D;GF>JMX!)O-)B^;9E^O$*A=@L2DZ>)%=\TUD_0/.O8!F_1WG4W
MVF5T8JEXB])P)4%CO2"7\461^OI0\)WCSNS%X)6LE;KWR76U()%O" 66UC,P
M-VRQ0"$\D6OC]\A)IE]ZX'[\Q/XI:'=:ULQ@H<0/7MEF0<X)5%BS7MB5VGW&
M4<^IYRN5,.$+N[$V(E#VQJIV!+L.6BZ'D3V,/NP!XOD+@&0$)/\*2$= <(X.
MG0592V99GFFU ^VK'9L/@C<![=1PZ7?QUFJWRAW.YBO<HNP15EBJC>3!VO=P
M654A9 *NY7!4_,+Q$BWCPIRXDKO;)1P?G< 1< G?&M4;)BN34>N:\M2T'!NX
M&AI(7FC@2R]F$*7O((F2Y "\>!V^Q'(&:1S@\7,X=59,?B23'TG@2__B1ZU5
M"X625KN#YO;$-E"$W4 -/R_7)LS_.B1WX)\?YO>7\L)TK,0%<;?.H-XBR=^^
MB<^BCX?$_R>R9U:DDQ7I:^QYH8PU8!74O:BY$%".=AQ2/5"=!2K_<FSS>#Y/
MSC.ZW9=SH"HZ/YU/54.?=.\X^Z?D*],;+@T(K!TNFGTX):"'ZSDD5G7AA*^5
M=3L4PL:]:*A]@5NOE;)/B;\TTQN9_P%02P,$%     @ X( "5<TI)RNS @
M?P8  !D   !X;"]W;W)K<VAE971S+W-H965T-C(N>&ULE95=;YLP%(;_RA&K
MIE9J"R$)F3J"E#2;MFF5JF1=+Z9=.'  J\;.;).T_WZV(2Q;2:3=@&U\7C_G
MPX=X)^23*A$U/%>,JZE7:KVY\7V5EE@1=2TVR,V77,B*:#.5A:\V$DGFC"KF
MAT$0^16AW$MBMW8ODUC4FE&.]Q)4755$OLR1B=W4&WC[A24M2FT7_"3>D )7
MJ!\V]]+,_$XEHQ5R104'B?G4FPUNYA.[WVWX3G&G#L9@/5D+\60GG[.I%U@@
M9)AJJT#,:XNWR)@5,AB_6DVO.](:'H[WZA^=[\:7-5%X*]@CS70Y]=YYD&%.
M:J:78O<)6W_&5B\53+DG[-J]@0=IK;2H6F-#4%'>O,ES&X<#@S \8A"V!J'C
M;@YRE NB21)+L0-I=QLU.W"N.FL#1[E-RDI+\Y4:.YTL<8N\1EAB*@I.7:2N
M8&5RG]4,0>0P8R9QA*<(I@3@5F)&-7P52L'Y C6A3%W &5 .WTI1*\(S%?O:
MD%E]/VTIY@U%>(0B@CO!=:G@ \\P^]O>-QYU;H5[M^;A2<$O-;N&8'@)81"&
M\+!:P/G9Q0G=81>NH=,='M&=I:FHN58V7DBW9,WP\D2$?BP%8V#*9T=D]K,O
M+LUQH_[C[(V\41N2XM0S5TZAW**7O'TSB(+W)YP9=<Z,3JDG<\(<-5$VSPOC
M4;5&"<.!"]N@#[<1C)R@O>_;9#*)8G_;0S'N*,8G*1XEU7@E\EQ= C==R*!(
M4XQ;E!1[2ZF1&Q\P7 V/,$0=0W22P63(7%\.^)R6A!<(DFB$9MS+$+UB&/03
M3#J"R7_DPI3O"[35VW?\Y'4:1O\"^ =-H4)9N-:GP-5OTQ^ZU:Z[SIJF\F=[
MTYKOB"PH5\ P-Z;!]<0X+IMVUTRTV+@6LQ;:-"PW+,T? J7=8+[G0NC]Q![0
M_7.2WU!+ P04    " #@@ )5JI@HN]\"   K!P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970V,RYX;6R5E6UOTS 0Q[^*%2:T2=O2)LT#HXVT;B! FC1U#%X@
M7KC)M;'FV,%VVNW;<W;24&A6B3>-'^[^_MWU?)YNI7K2)8 ASQ47>N:5QM17
MOJ_S$BJJ+V4- G=64E74X%2M?5TKH(5SJK@?C$:Q7U$FO&SJUNY5-I6-X4S
MO2*ZJ2JJ7N; Y7;FC;W=PH*M2V,7_&Q:TS4\@'FL[Q7._%ZE8!4(S:0@"E8S
M[WI\-4^MO3/XQF"K]\;$1K*4\LE./A<S;V2!@$-NK +%SP9N@',KA!B_.DVO
M/](Z[H]WZA]=[!C+DFJXD?P[*TPY\U*/%+"B#3<+N?T$73R1U<LEU^Z7;%O;
M)/1(WF@CJ\X9"2HFVB]][O*PYQ $KS@$G4/@N-N#'.4M-32;*KDEREJCFAVX
M4)TWPC%A_Y0'HW"7H9_)%K !T0!90"[7@KE,79!;6(%24)#=]K5-'C,OY/06
M#&5<GY$3P@3Y6LI&4U'HJ6^0QFKZ>7?RO#TY>.7DF-Q)84I-/H@"BK_]?8RB
M#R78A3(/C@I^:?@E&87G)!@% 7E\N"6G)V='=,,^1:'3#5_1O9,;P#(T-MZ#
MQ/Q82,X)%LB6JN+G4!9:\<FPN+US5[JF.<P\O%0:U :\[.V;<3QZ?P1]TJ-/
MCJEG<\JIR(%03>0*X7.HEJ!(.'9)&@_AMH*Q$[0W>I.%43()I_YF@"/J.:*C
M'&W:*+<4JLO<DG&.B<2DFA*PU#&MF.,:%)/%.1'8CYQQ7Y9#L.VIT1YL_"X-
M)\.P<0\;'X7=OPI[O,7NKT?B&B%5QSK$%1]P701I%"7#8$D/EAP%PRK#)B,(
M/.<E%6L@BAK,G!L/7L#D$&,<A]$P1=I3I/]14WCI7DAWYX80TH-R2J(P_1?!
MWVM@%:BU:].:Y+(1INUE_6K_$ERW#?"/>?N,W%&U9D(3#BMT'5TF&+YJ6W,[
M,;)V[7 I#397-RSQ-0-E#7!_):793>P!_?N8_0902P,$%     @ X( "50/1
M<;L="0  G4P  !D   !X;"]W;W)K<VAE971S+W-H965T-C0N>&ULQ9Q;;^.X
M%<>_"N$NB@38L252DNTT,3"QI.D4'31(-KL/11\8FXZ%D40O1>=2S(<O=8EE
M6@Q]Z1ED'B:V0OY(GL/+.7\INGSFXGNQ9$RBERS-BZO>4LK5Q6!0S)8LHT6?
MKUBN?K/@(J-2?16/@V(E&)U7E;)T@!TG&&0TR7N3R^K:C9A<\K5,DYS="%2L
MLXR*UVN6\N>KGMM[NW";/"YE>6$PN5S11W;'Y/WJ1JAO@PUEGF0L+Q*>(\$6
M5[W/[D7LX;)"5>+WA#T76Y]1.90'SK^77[[.KWI.V2.6LIDL$53]>&)3EJ8E
M2?7CSP;:V[195MS^_$:/J\&KP3S0@DUY^D<RE\NKWJB'YFQ!UZF\Y<]_9\V
M_)(WXVE1_8^>Z[+#<0_-UH7D65-9]2!+\OHG?6D,L57!"]ZI@)L*>+>"\TX%
MTE0@A[;@-16\0UOPFPK^3@6,WZD0-!6"RO:UL2I+AU32R:7@STB4I16M_%"Y
MJZJM#)SDY<RZDT+]-E'UY.1.\MGW3]?*-W,TY9F:L 6M7!Z]E)\9.@N9I$E:
MG%\.I&JOK#68->SKFHW?81/TC>=R6: HG[.YH7YHKQ]8Z@_4.#>#Q6^#O<96
MX#_6:1\YY%>$'8S1_5V(SGXY1X^"KU?H%S1 Q9(*5C0_#/V='H+W*KR[P1\"
M#G]NOZ.?U>_8#@[9K(^(JX,M?B2;24LJ+GEOTI;]^?30G;2?A:#Y(U,[GT0/
MKVB[W U]K2Y_?J9BCO[]3X5$7R7+BO^8)G;=OF=NO]SM+XH5G;&KGMK."R:>
M6&_RU[^X@?,WTZR!A(60L @2%@/!M!GA;6:$9Z-/_JA.$#;_1)^84">B6APT
MEY_F5#*TH(E 3S1=L^)7E.1HSM.4B@*MF*AG-OJQ-=E-LZ%N>UBU71[53Q-W
MU,?NY>!IV\W=4@3WG:%>*NR6PKA/B%XJ,K!(W]MAQ5:;G&AQ?V-QWVKQW[BD
MJ3*G%(D*,V:U@4W&JS'!UE#&Q',<9\=ZW6*N&V"W4S#L%B3.>-PI%W7+^63L
MC3H%8^LX3[1BL+%B<( 5MV8HX@M4E&<RXJMR2RO0$RNDR:Z!P6"C[O"F=3E?
MF[S$Z=JUR\/!$).N8;M ,O0,Q-@Z]!,-.]P8=F@U[)?R<"Q4,"67:LG+)4,L
M6Z7\E3&TXJMU6I\7/^I#U&3>86>4>,>PU@X<NZWO;2Z";"X&@FFN&6U<,[*Z
M)BIDHE("=2;3/%^7TY^+!4OD6NW$HMJPN4#KO)SWJLS;,B@O%BQ/U(^,YK0^
MY$V.JQMWMTWIJ&W8T?[M[MW6'A_KRU-Z$$'V( :":>X=;]P[_DGNI6F*N%JJ
M8K-6C:?QV&1>=W=U6CMYK$</:C*";#(&@FDN=)TV*W2L3OR:SP2C9?HW9_6G
M<R0YFFT'VZS.$(UYH95^;/P,2@L;FG9P^B3HGG--06U/]OWN,0?5/=U56PF\
M:W75?2[8C#_FR7_5<CK806['",'8]7 W?+"W?K3Q#VTW FTWAJ+I/L*MC_!!
MZ0EZ2T]4[I'P>;FD'M2NN/&?T556]-%K"9(6[AFVBUX9%6B(LEK'"="<OAH%
M"M!NQ5 TW=NM.N%:4]U&4ZMEAX,7).F&Z7@\'AH6I*&D,S1%]$U)+:0?.;XA
MI#<P,1Z2;E85VX=^JFG;--^UY_F_T1>U8G*V2"1:")X=;E^O.T+',^2A34'M
M> A\0QYJ('HD,!FW2R1>T&TZMH_]5-NV";UKS^AOVV.DV9YFO) %FM%5HK+4
M=_>G;J+=L2E0BMT8?F^#$6B#L;5!W=AMWN_:$__H+1NM-@OTKRH,-IH7*(MN
M/ %)"T%I$2@MAJ+I_FWE!W?XP1*U"RD(3$%I(2@M J7%4#1]8K3BAVM7/^[J
M6RKTB28I?4CK=+A2JU52/"\EZ2WU#ZU2JI+CLR1OU.ES],.B4S=-:Z&!A_UN
M:#"U=_)H=Q_:;@3:;@Q%TUW9"AWN'J7C996(>E4W!V85DM3.5)&NT460(L$4
ME!;N&:[K5.&\.7X'U3Z@:/I-XE;\P';QXY854B2S,E^K3^?[/%%QT-GMW;WY
M-KB==ZQ306DA*"T"I<50--W/K7*"W0\^HS&DB#$%I86@M B4%D/1](G1RC78
MKEM\*7=PY>PST]WB\[VWBQOZ]MU;S^]C?^<,-A0;^OWQ:"?/-!0+2)_LW N.
M#,5&P[[GC[?^[>2;=BN<:N56)L%VF63;RH=$-W;<T8L)]*D,W!50O%%7-(A
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
M$K4J"BJW(^!B,_!"[_G@ALT7VASX:7])YW +^OOR6N+.;UAR5D"IF"B)A-G
M&X:7TYZQMP9W##9J9TV,D@<A'LWF2S[P A,0<,BT8:#XMX8Q<&Z(,(Q?-:?7
MN#3 W?4S^T>K';4\4 5CP>]9KA<#[[U'<IC1%=<W8O,9:CV)X<L$5_:7;&K;
MP"/92FE1U&",H&!E]4^?ZCSL *+X"""J 5%;0%P#XD- <@30J0&=MH"D!ECI
M?J7=)FY"-4W[4FR(--;(9A8V^Q:-^6*EN2>W6N)7ACB=WFJ1/9Z-,-4Y&8L"
MKY^BMH+3)[,&<D;N;;(A/QNN0>+=(4.%MVIIK!3Y;H ,S95F6#96SLE'RB2Y
MHWP%BH@9L1[(M]K^DZ0E<I$W$]"4<?6V[VN488+QLSKD415R="3DF%R)4B\4
MF98YY [\Y#2^>P+O8_J:'$;/.1Q%)PF_KO@Y">)W) JBR!'/N V\8^&A2\[_
M>9_^L_>]9,3-A8HM7WSL0BVHA/I"7=,MMA1-AA*K/@>[_C%\4%IB?_CIJGS%
MW7%SFYYYJ98T@X&'35&!7(.7OGX5=H,/KK2_)-GD)<FF+T2V5Z!.4Z#.*?;T
MAJG'LYD$())J<!6APE]8O'EGUFEP'H07?7^]FUVW5;)O-6G%-75;Q8W5GM"D
M$9J<%&HZ6&9Z3<[6+(<R)UL&W-4P1HG+?Y#$!Y+=9G%XH-EMUCG0[+:*>F[1
MW49TMYWHM>#8CCG36Y?@B@2?SUWO<>] K]OJH'B35ES3OW'MJ>TU:GOMU&J0
M!7F#[] 6J'0_*J>9NA62A*0PCP/IDIQNE:NKG.;IM>69G.9):IZHXD'"Z!C3
MM!W31</TWL%4I=_?&20*D',[P2F2B56IJR>@.6V&Q*&=C0[.1^'E.'2<3W"H
MK&; /_351'I%Y9SA@,!AAJZ"\Q[>%%E->=5&BZ4=8QZ$QJ'(+A<X&(,T!OA]
M)H1^WA@'S:B=_@902P,$%     @ X( "5:B#S8U)!   8A8  !D   !X;"]W
M;W)K<VAE971S+W-H965T-C<N>&ULK5AM<^(V$/XK&K?3N9NYX'<#*3 3,-=>
M9ZZ329K<9P4OX(EM44E ^N\KR<;@ESBF%1^P)>\^JWUV):TT.1+ZRK8 '+VE
M2<:FQI;SW:UILM464LP&9 >9^+(F-,5<-.G&9#L*.%)*:6(ZEA68*8XS8S91
M??=T-B%[GL09W%/$]FF*Z3]S2,AQ:MC&J>,AWFRY[#!GDQW>P"/PI]T]%2VS
M1(GB%#(6DPQ16$^-._MV:7M204D\QW!D%^](NO)"R*ML?(NFAB5'! FLN(3
MXG& !22)1!+C^+L -4J;4O'R_83^53DOG'G!#!8D^1%'?#LU1@:*8(WW"7\@
MQ]^A<,B7>"N2,/6/CH6L9:#5GG&2%LIB!&F<Y4_\5A!QH2!PVA6<0L&I*WCO
M*+B%@MO7@E<H>'TM^(6"<MW,?5?$A9CCV822(Z)26J#)%\6^TA9\Q9E,E$=.
MQ==8Z/'9(R>KUYNYH#I""Y**_&-817#Y)M\!?2AP@QY%]D;[!!!9HP=@G,8K
M+J25)GK*8L[0IQ XCA/V68B_)_+P^*2^_XQ,Q+:8 CL]X@S]M25[AK.(34PN
MW):#-U>%B_/<1><=%UWTG61\R] RBR!JT0^[]8,.?5/077+NG#B?.YV ?^R3
M ;+<+\BQ'*=E/(L^ZIY2M]O<^7_6E__9>H4,MTQ 5^&Y[R5@'N)/(L;\%.//
M;4'.8;QV&+F>WK(=7L'4$ LF WH 8_;+3W9@_=K&L$ZP4"?84A-8)19>&0NO
M"WWV)\D.8G**B8F9G,QSV,19%F<;V;@'&I-(!2J?EJU1ZC1P;91T@H4YF*_
MY/9YF(T<=V(>+LG79+!"OE^2[W>2_QO%F:3^ X([0:XE6"=8Z#<(]D9VC6!-
M!BL$!R7!02?!SWEJ?\!OT/#"L:I.+)HB=BV1PJ;(T*M1T8+BER(5!X>E@\-.
M!T7EM(98^D@H@K==3#]VMQ/QVG32"18.&_S<N$&-0TT&*VR/2K9'5RV6HCKH
MOTR.FL&WQ[4,673:OY;./A:7FBQ6^!R7?(X["X$?JJ:'Z.;N %2<49!:$)&H
M:@%]Q3%%SSC90QN98YTYK!,LU FVU 16"8YMG<\)EI;:("))@BE#.Z#Y!&C-
M_VYCU\9,*UI8H TOIDK@#YS .O_JVYJN 51C<W&&LWN7#CWYMQL^>L)'O[8"
MM8@-_<%X5-OM"C$[N*3,';C#.DU-N-%PX/GCBU_[%F@[9RZ<OKM\3RHZ\:Y.
M19UH88%6(79D#]Q&_FFR6N7\?(2S.T\E[Q<>/2.@]6BG%2TLT*JI'0S\>B6B
MRVHU N>#FWW=R:U9C/0,A==<^]R!-ZRO"UI/9OV,+G49S2DV+^[,4J ;=5G)
MT(KL,Y[?7I2]Y87HG;H&K/7/[=N%W=(?R@M4=4=WAL]O7[]C*O9.AA)8"U/6
M8"BJ,II?:.8-3G;JQNZ%<$Y2];H%' &5 N+[FA!^:D@#Y;7R[%]02P,$%
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
M-<$+PO4!ZOTE8_+EB4ZPO1%]]@]02P,$%     @ X( "5;R:I*$K P  30H
M !D   !X;"]W;W)K<VAE971S+W-H965T-S(N>&ULK59M;],P$/XK5I#0D-B2
MYFWM:".M+PB0D"8&[ /B@Y=<&PO'+K;3PK_'=M+09FZ9QKXD]N6>Y^Z>LV./
MMUS\D"6 0K\JRN3$*Y5:7_F^S$NHL+S@:V#ZRY*+"BL]%2M?K@7@PH(JZH=!
MD/H5)LS+QM9V([(QKQ4E#&X$DG558?%["I1O)][ VQD^D56IC,'/QFN\@EM0
M7]8W0L_\CJ4@%3!).$,"EA/O>G"U2(V_=?A*8"OWQLA4<L_Y#S-Y7TR\P"0$
M%')E&+!^;6 &E!HBG<;/EM/K0AK@_GC'_M;6KFNYQQ)FG-Z10I43;^BA I:X
MINH3W[Z#MI[$\.6<2OM$V]8W\%!>2\6K%JPSJ AKWOA7J\,>0/.X 6$+"/N
M^ @@:@'18R/$+2!^;(2D!=C2_:9V*]P<*YR-!=\B8;PUFQE8]2U:ZT6862>W
M2NBO1.-4=F>5A.+\>@-"+PQT6V(!$IVC&:9Y3;%M)U^B8XYG<U"84/E*0V1C
M:E^$H<\EKR5FA1S[2B=K0OIYF]BT22P\DEB$/G*F2HD6K(#"@9^?QJ<G\+X6
MJ5,JW"DU#4\2?JCI!0JBUR@,PM"1S^PQ\-C"!ZYR_B_ZXLG1#\2(NF436;[H
M"-\""T;82J(;$,U*0-^N[Z42>N-_=S6[H8O==.9G>"77.(>)I_]V$L0&O.SE
MBT$:O'$I_9QD\^<D6SP3V4%/XJXG\2GV;(HER=%VMT]QNT]S7E5Z"[>;4A\5
M4ND=J9N'SLC._,K5LB9:8J.9XV:3#2ZC)+@<^YO]9KC<TC1,#]WF3K9A%!RZ
M+9QL<1)W;@?2))TTR4EI%LNE/IC,;ZP@M#9'$X*?-5&_$=YB4<A_29$\S"H>
M]BJ</72*HC3IR?#0*0SBN">"@RD)AVX)TDZ"]*0$=T?6A5X+[?#<2++!%)AZ
MPFI)'8V+1Z.H)Y++;30:#7HRN=R2X65?*#?;,.Q)Y>^=CQ6(E;V82%UVS53S
MS^NLW=WGVA[Y/?MT<#4;..QS?5=JKC9_Z9N+UD<L5H1)1&&I0P47ESI9T5Q>
MFHGB:WLZWW.ESWH[+/5]#X1QT-^7G*O=Q 3H;I#9'U!+ P04    " #@@ )5
MK=ZO>Z8#  "G$@  &0   'AL+W=O<FMS:&5E=',O<VAE970W,RYX;6S%6%UO
MVS84_2N$"@PMT$2?_DAF&W L#4VQ8D:"K0_#'ACIVB8BB1I)V<F_'TG)JA7)
M:MH1R(M-4O<<\MXC'8F<'2A[Y#L @9ZR-.=S:R=$<6W;/-Y!AODE+2"75S:4
M95C(+MO:O&" $PW*4MMSG+&=89);BYD>6[/%C)8B)3FL&>)EEF'V? ,I/<PM
MUSH.W)'M3J@!>S$K\!;N0?Q9K)GLV0U+0C+(.:$Y8K"96TOW.G(U0$?\1>#
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
M$A)1CJK;GV!ZKE^]0*E8+ GI@H;#LBNFXZ)IJ8:*6A[@L(V,BL.,8#X:,R.
M87$P!9B/]L+B_$_SZ:+ST1BFK6M$NJA/%_717B9D6'RP.&:?0!WFF0:!Y_D^
MEM'AT*A@B.7-]^%K9L.T@0<6!R(]+=?X:N,5LKL.L#7=52'83/%*Q&:*YQH0
M<][ (PC,JXW% 0]L%;#:@?CF.%!39A_/@U7%M&$[&$>" $.@%LTUZOM(=GSX
MF-<'VR6>%P1F!#"S L_#$-B-.((I  T8XGG%?7#K?N2L[E-._9?^X"]02P,$
M%     @ X( "59>*NQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q
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
M    L0   !               ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"
M% ,4    " #=@ )5?0.E@>X    K @  $0              @ &O    9&]C
M4')O<',O8V]R92YX;6Q02P$"% ,4    " #=@ )5F5R<(Q &  "<)P  $P
M            @ ', 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    (
M -V  E4;H@)Q*P4  #$5   8              " @0T(  !X;"]W;W)K<VAE
M971S+W-H965T,2YX;6Q02P$"% ,4    " #@@ )5QCJKOC(&  "V&P  &
M            @(%N#0  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#
M%     @ X( "54K@#;1K!   N1(  !@              ("!UA,  'AL+W=O
M<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( ."  E6_++14RP(  "$(
M   8              " @7<8  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q0
M2P$"% ,4    " #@@ )5WU_GPU '   O'P  &               @(%X&P
M>&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @ X( "5:JC05RU
M P  WPT  !@              ("!_B(  'AL+W=O<FMS:&5E=',O<VAE970V
M+GAM;%!+ 0(4 Q0    ( ."  E61-GQV40<  /D>   8              "
M@>DF  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " #@@ )5
MTC!QACX+   E9@  &               @(%P+@  >&PO=V]R:W-H965T<R]S
M:&5E=#@N>&UL4$L! A0#%     @ X( "51R:,K42 P  )PD  !@
M     ("!Y#D  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    (
M ."  E5Y]4JQ0@0  /@)   9              " @2P]  !X;"]W;W)K<VAE
M971S+W-H965T,3 N>&UL4$L! A0#%     @ X( "58H8I_^V!0  JPX  !D
M             ("!I4$  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"
M% ,4    " #@@ )5F>]"J7X&  "-#P  &0              @(&21P  >&PO
M=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( ."  E7_]VBY]0@
M +X8   9              " @4=.  !X;"]W;W)K<VAE971S+W-H965T,3,N
M>&UL4$L! A0#%     @ X( "54A(ZI?S @  - 8  !D              ("!
M<U<  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " #@@ )5
M!,&U%^H%  !P$   &0              @(&=6@  >&PO=V]R:W-H965T<R]S
M:&5E=#$U+GAM;%!+ 0(4 Q0    ( ."  E5J#9PP=@(  ',%   9
M      " @;Y@  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%
M  @ X( "51Y@G.2% P  +0@  !D              ("!:V,  'AL+W=O<FMS
M:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " #@@ )5^[7DD4P$  !;"0
M&0              @($G9P  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+
M 0(4 Q0    ( ."  E4CI,K-+ 0  -X)   9              " @:IK  !X
M;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @ X( "5:'Y#[,;
M!@  L@\  !D              ("!#7   'AL+W=O<FMS:&5E=',O<VAE970R
M,"YX;6Q02P$"% ,4    " #@@ )53B]IG/P%  #+#@  &0
M@(%?=@  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( ."
M E6 RO^B.0H  '(?   9              " @9)\  !X;"]W;W)K<VAE971S
M+W-H965T,C(N>&UL4$L! A0#%     @ X( "5:SV$]6V P  * D  !D
M         ("! H<  'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4
M    " #@@ )54@#1;%H&  "7$0  &0              @('OB@  >&PO=V]R
M:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( ."  E59]5*#N0(  $P&
M   9              " @8"1  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL
M4$L! A0#%     @ X( "5:U])RUK!@  N \  !D              ("!<)0
M 'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    " #@@ )5NI/.
MDWD"  !_!0  &0              @($2FP  >&PO=V]R:W-H965T<R]S:&5E
M=#(W+GAM;%!+ 0(4 Q0    ( ."  E43.+PBN@4  )T.   9
M  " @<*=  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @
MX( "53K\<G=- P  9P<  !D              ("!LZ,  'AL+W=O<FMS:&5E
M=',O<VAE970R.2YX;6Q02P$"% ,4    " #@@ )5%J'-2"8&  "&$0  &0
M            @($WIP  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4
M Q0    ( ."  E4$I*V\BP(  &\%   9              " @92M  !X;"]W
M;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @ X( "52>'35.7 @
MA04  !D              ("!5K   'AL+W=O<FMS:&5E=',O<VAE970S,BYX
M;6Q02P$"% ,4    " #@@ )5P.(^:84"  !_!0  &0              @($D
MLP  >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( ."  E5!
MN'=6L ,  /0(   9              " @>"U  !X;"]W;W)K<VAE971S+W-H
M965T,S0N>&UL4$L! A0#%     @ X( "57?&B>&6 @  OP4  !D
M     ("!Q[D  'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4
M" #@@ )5\O/2-EP%  "N#@  &0              @(&4O   >&PO=V]R:W-H
M965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( ."  E6H05T$M@0  ,H,   9
M              " @2?"  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L!
M A0#%     @ X( "55#CX03^!0  4Q   !D              ("!%,<  'AL
M+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4    " #@@ )5KSSHF\D"
M  !,!@  &0              @(%)S0  >&PO=V]R:W-H965T<R]S:&5E=#,Y
M+GAM;%!+ 0(4 Q0    ( ."  E5(15RV"@D  #I=   9              "
M@4G0  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ X( "
M573/_8TE @  _P0  !D              ("!BMD  'AL+W=O<FMS:&5E=',O
M<VAE970T,2YX;6Q02P$"% ,4    " #@@ )5%G K2= #   ?$@  &0
M        @('FVP  >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0
M   ( ."  E7$O1.!*@4  $0<   9              " @>W?  !X;"]W;W)K
M<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ X( "5;[*&A"R!@  VB\
M !D              ("!3N4  'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q0
M2P$"% ,4    " #@@ )59LY?4:<%  #3(@  &0              @($W[
M>&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( ."  E5RANJB
M9@4  'T?   9              " @17R  !X;"]W;W)K<VAE971S+W-H965T
M-#8N>&UL4$L! A0#%     @ X( "5?$9(G&4 @  X08  !D
M ("!LO<  'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    " #@
M@ )5S-QXJUP%   +(P  &0              @(%]^@  >&PO=V]R:W-H965T
M<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( ."  E6RFJ7DI@(  $@'   9
M          " @1   0!X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#
M%     @ X( "53+-&']J @  K 4  !D              ("![0(! 'AL+W=O
M<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " #@@ )52U8@BK\&  #H
M,   &0              @(&.!0$ >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM
M;%!+ 0(4 Q0    ( ."  E7G1OH;LP(  ( &   9              " @80,
M 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#%     @ X( "5:)'
MK9,5 @  000  !D              ("!;@\! 'AL+W=O<FMS:&5E=',O<VAE
M970U,RYX;6Q02P$"% ,4    " #@@ )5+4X;C5D"  "J!0  &0
M    @(&Z$0$ >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    (
M ."  E5>\27_VPD  -J2   9              " @4H4 0!X;"]W;W)K<VAE
M971S+W-H965T-34N>&UL4$L! A0#%     @ X( "56AL-:\. P  <PL  !D
M             ("!7!X! 'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"
M% ,4    " #@@ )5!8A_BLL"  """   &0              @(&A(0$ >&PO
M=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    ( ."  E4@*)N'] (
M ,\)   9              " @:,D 0!X;"]W;W)K<VAE971S+W-H965T-3@N
M>&UL4$L! A0#%     @ X( "5<P_I0@O!   %1@  !D              ("!
MSB<! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    " #@@ )5
M!)5#^I8#   ^$   &0              @($T+ $ >&PO=V]R:W-H965T<R]S
M:&5E=#8P+GAM;%!+ 0(4 Q0    ( ."  E61+)&Q0@(  "\%   9
M      " @0$P 0!X;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#%
M  @ X( "5<TI)RNS @  ?P8  !D              ("!>C(! 'AL+W=O<FMS
M:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " #@@ )5JI@HN]\"   K!P
M&0              @(%D-0$ >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+
M 0(4 Q0    ( ."  E4#T7&['0D  )U,   9              " @7HX 0!X
M;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#%     @ X( "5?:HT_F7
M!    !,  !D              ("!SD$! 'AL+W=O<FMS:&5E=',O<VAE970V
M-2YX;6Q02P$"% ,4    " #@@ )59%']&58#  !V"P  &0
M@(&<1@$ >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    ( ."
M E6H@\V-200  &(6   9              " @2E* 0!X;"]W;W)K<VAE971S
M+W-H965T-C<N>&UL4$L! A0#%     @ X( "5<%::RE*!   :Q8  !D
M         ("!J4X! 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"% ,4
M    " #@@ )5M_WQCAH$  "Z%0  &0              @($J4P$ >&PO=V]R
M:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0    ( ."  E45GFXYV0,  &H5
M   9              " @7M7 0!X;"]W;W)K<VAE971S+W-H965T-S N>&UL
M4$L! A0#%     @ X( "5583-&#M!P  E#X  !D              ("!BUL!
M 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q02P$"% ,4    " #@@ )5O)JD
MH2L#  !-"@  &0              @(&O8P$ >&PO=V]R:W-H965T<R]S:&5E
M=#<R+GAM;%!+ 0(4 Q0    ( ."  E6MWJ][I@,  *<2   9
M  " @1%G 0!X;"]W;W)K<VAE971S+W-H965T-S,N>&UL4$L! A0#%     @
MX( "5347*R=F P  8P\  !D              ("![FH! 'AL+W=O<FMS:&5E
M=',O<VAE970W-"YX;6Q02P$"% ,4    " #@@ )5Z-4ZF0H"  "Y!   &0
M            @(&+;@$ >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+ 0(4
M Q0    ( ."  E5*0^M%@ ,  -\7   -              "  <QP 0!X;"]S
M='EL97,N>&UL4$L! A0#%     @ X( "59>*NQS     $P(   L
M     ( !=W0! %]R96QS+RYR96QS4$L! A0#%     @ X( "5>P$HRV%!0
M,S$   \              ( !8'4! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0
M   ( ."  E5G_%)"3 (  &@L   :              "  1)[ 0!X;"]?<F5L
M<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( ."  E6&IF-(# (  &$K
M   3              "  99] 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@
0  !3 %, O!8  --_ 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>214</ContextCount>
  <ElementCount>330</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>63</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>14</UnitCount>
  <MyReports>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001002 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsofOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002003 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical</Role>
      <ShortName>Consolidated Statements of Comprehensive Income (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1004005 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1005006 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1006007 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementsofCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1007008 - Statement - Consolidated Statement of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity</Role>
      <ShortName>Consolidated Statement of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statement of Shareholders' Equity (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2103102 - Disclosure - New Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/NewPronouncements</Role>
      <ShortName>New Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2104103 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2108104 - Disclosure - Cash, Cash Equivalents, and Investments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestments</Role>
      <ShortName>Cash, Cash Equivalents, and Investments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2115105 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2118106 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2122107 - Disclosure - Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Goodwill</Role>
      <ShortName>Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2125108 - Disclosure - Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssets</Role>
      <ShortName>Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2128109 - Disclosure - Warranty Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligations</Role>
      <ShortName>Warranty Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2131110 - Disclosure - Commitment and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CommitmentandContingencies</Role>
      <ShortName>Commitment and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2133111 - Disclosure - Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstruments</Role>
      <ShortName>Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2140112 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2147113 - Disclosure - Stock-Based Compensation Expense</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpense</Role>
      <ShortName>Stock-Based Compensation Expense</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2155114 - Disclosure - Stock Repurchase Program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockRepurchaseProgram</Role>
      <ShortName>Stock Repurchase Program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2157115 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2159116 - Disclosure - Weighted-Average Shares</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageShares</Role>
      <ShortName>Weighted-Average Shares</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2163117 - Disclosure - Loss from Fire</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/LossfromFire</Role>
      <ShortName>Loss from Fire</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2165118 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.cognex.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2305301 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/FairValueMeasurements</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables</Role>
      <ShortName>Cash, Cash Equivalents, and Investments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/CashCashEquivalentsandInvestments</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2316303 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/Inventories</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2319304 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/Leases</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2323305 - Disclosure - Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/GoodwillTables</Role>
      <ShortName>Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/Goodwill</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2326306 - Disclosure - Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssetsTables</Role>
      <ShortName>Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/IntangibleAssets</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2329307 - Disclosure - Warranty Obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligationsTables</Role>
      <ShortName>Warranty Obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WarrantyObligations</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2334308 - Disclosure - Derivative Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsTables</Role>
      <ShortName>Derivative Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/DerivativeInstruments</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2341309 - Disclosure - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionTables</Role>
      <ShortName>Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/RevenueRecognition</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2348310 - Disclosure - Stock-Based Compensation Expense (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseTables</Role>
      <ShortName>Stock-Based Compensation Expense (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockBasedCompensationExpense</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2360311 - Disclosure - Weighted-Average Shares (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesTables</Role>
      <ShortName>Weighted-Average Shares (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WeightedAverageShares</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails</Role>
      <ShortName>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2407402 - Disclosure - Fair Value Measurements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsDetails</Role>
      <ShortName>Fair Value Measurements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/FairValueMeasurementsTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails</Role>
      <ShortName>Cash, Cash Equivalents, and Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2414407 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2417408 - Disclosure - Inventories - Schedule of Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails</Role>
      <ShortName>Inventories - Schedule of Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2420409 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2421410 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails</Role>
      <ShortName>Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2424411 - Disclosure - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/GoodwillDetails</Role>
      <ShortName>Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/GoodwillTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2427412 - Disclosure - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/IntangibleAssetsTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2430413 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail</Role>
      <ShortName>Warranty Obligations - Changes in Warranty Obligations (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2432414 - Disclosure - Commitment and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CommitmentandContingenciesDetails</Role>
      <ShortName>Commitment and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/CommitmentandContingencies</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2435415 - Disclosure - Derivative Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsDetails</Role>
      <ShortName>Derivative Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/DerivativeInstrumentsTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2436416 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails</Role>
      <ShortName>Derivative Instruments - Outstanding Forward Contracts Table (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2437417 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails</Role>
      <ShortName>Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2438418 - Disclosure - Derivative Instruments - Offsetting Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails</Role>
      <ShortName>Derivative Instruments - Offsetting Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2439419 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails</Role>
      <ShortName>Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2442420 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails</Role>
      <ShortName>Revenue Recognition - Revenue Disaggregated by Geography (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2443421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails</Role>
      <ShortName>Revenue Recognition - Revenue Disaggregated by Products and Services (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2444422 - Disclosure - Revenue Recognition - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails</Role>
      <ShortName>Revenue Recognition - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>2445423 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails</Role>
      <ShortName>Revenue Recognition - Schedule of Allowance for Credit Loss (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>2446424 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails</Role>
      <ShortName>Revenue Recognition - Deferred Revenue Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>2449425 - Disclosure - Stock-Based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseDetails</Role>
      <ShortName>Stock-Based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockBasedCompensationExpenseTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>2450426 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails</Role>
      <ShortName>Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>2451427 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails</Role>
      <ShortName>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>2452428 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails</Role>
      <ShortName>Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>2453429 - Disclosure - Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails</Role>
      <ShortName>Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>2454430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails</Role>
      <ShortName>Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>2456431 - Disclosure - Stock Repurchase Program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockRepurchaseProgramDetails</Role>
      <ShortName>Stock Repurchase Program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockRepurchaseProgram</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>2458432 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/IncomeTaxes</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>2461433 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails</Role>
      <ShortName>Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>2462434 - Disclosure - Weighted-Average Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesDetails</Role>
      <ShortName>Weighted-Average Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WeightedAverageSharesTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>2464435 - Disclosure - Loss from Fire (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/LossfromFireDetails</Role>
      <ShortName>Loss from Fire (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/LossfromFire</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="cgnx-20220703.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>2466436 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/SubsequentEvents</ParentRole>
      <Position>75</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="cgnx-20220703.htm">cgnx-20220703.htm</File>
    <File>a732022-10qxexhibit311.htm</File>
    <File>a732022-10qxexhibit312.htm</File>
    <File>a732022-10qxexhibit321.htm</File>
    <File>a732022-10qxexhibit322.htm</File>
    <File>cgnx-20220703.xsd</File>
    <File>cgnx-20220703_cal.xml</File>
    <File>cgnx-20220703_def.xml</File>
    <File>cgnx-20220703_lab.xml</File>
    <File>cgnx-20220703_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="959">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>93
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "cgnx-20220703.htm": {
   "axisCustom": 0,
   "axisStandard": 20,
   "contextCount": 214,
   "dts": {
    "calculationLink": {
     "local": [
      "cgnx-20220703_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cgnx-20220703_def.xml"
     ]
    },
    "inline": {
     "local": [
      "cgnx-20220703.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cgnx-20220703_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cgnx-20220703_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cgnx-20220703.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/currency/2022/currency-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 516,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 3,
    "http://xbrl.sec.gov/dei/2022": 5,
    "total": 8
   },
   "keyCustom": 30,
   "keyStandard": 300,
   "memberCustom": 13,
   "memberStandard": 48,
   "nsprefix": "cgnx",
   "nsuri": "http://www.cognex.com/20220703",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001001 - Document - Cover Page",
     "role": "http://www.cognex.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2103102 - Disclosure - New Pronouncements",
     "role": "http://www.cognex.com/role/NewPronouncements",
     "shortName": "New Pronouncements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2104103 - Disclosure - Fair Value Measurements",
     "role": "http://www.cognex.com/role/FairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2108104 - Disclosure - Cash, Cash Equivalents, and Investments",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestments",
     "shortName": "Cash, Cash Equivalents, and Investments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2115105 - Disclosure - Inventories",
     "role": "http://www.cognex.com/role/Inventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2118106 - Disclosure - Leases",
     "role": "http://www.cognex.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2122107 - Disclosure - Goodwill",
     "role": "http://www.cognex.com/role/Goodwill",
     "shortName": "Goodwill",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2125108 - Disclosure - Intangible Assets",
     "role": "http://www.cognex.com/role/IntangibleAssets",
     "shortName": "Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2128109 - Disclosure - Warranty Obligations",
     "role": "http://www.cognex.com/role/WarrantyObligations",
     "shortName": "Warranty Obligations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2131110 - Disclosure - Commitment and Contingencies",
     "role": "http://www.cognex.com/role/CommitmentandContingencies",
     "shortName": "Commitment and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001002 - Statement - Consolidated Statements of Operations",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsofOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2133111 - Disclosure - Derivative Instruments",
     "role": "http://www.cognex.com/role/DerivativeInstruments",
     "shortName": "Derivative Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2140112 - Disclosure - Revenue Recognition",
     "role": "http://www.cognex.com/role/RevenueRecognition",
     "shortName": "Revenue Recognition",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2147113 - Disclosure - Stock-Based Compensation Expense",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpense",
     "shortName": "Stock-Based Compensation Expense",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2155114 - Disclosure - Stock Repurchase Program",
     "role": "http://www.cognex.com/role/StockRepurchaseProgram",
     "shortName": "Stock Repurchase Program",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2157115 - Disclosure - Income Taxes",
     "role": "http://www.cognex.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2159116 - Disclosure - Weighted-Average Shares",
     "role": "http://www.cognex.com/role/WeightedAverageShares",
     "shortName": "Weighted-Average Shares",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:LossFromCatastropheTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2163117 - Disclosure - Loss from Fire",
     "role": "http://www.cognex.com/role/LossfromFire",
     "shortName": "Loss from Fire",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:LossFromCatastropheTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2165118 - Disclosure - Subsequent Events",
     "role": "http://www.cognex.com/role/SubsequentEvents",
     "shortName": "Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2202201 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2305301 - Disclosure - Fair Value Measurements (Tables)",
     "role": "http://www.cognex.com/role/FairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002003 - Statement - Consolidated Statements of Comprehensive Income",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2309302 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables",
     "shortName": "Cash, Cash Equivalents, and Investments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2316303 - Disclosure - Inventories (Tables)",
     "role": "http://www.cognex.com/role/InventoriesTables",
     "shortName": "Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2319304 - Disclosure - Leases (Tables)",
     "role": "http://www.cognex.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2323305 - Disclosure - Goodwill (Tables)",
     "role": "http://www.cognex.com/role/GoodwillTables",
     "shortName": "Goodwill (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2326306 - Disclosure - Intangible Assets (Tables)",
     "role": "http://www.cognex.com/role/IntangibleAssetsTables",
     "shortName": "Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2329307 - Disclosure - Warranty Obligations (Tables)",
     "role": "http://www.cognex.com/role/WarrantyObligationsTables",
     "shortName": "Warranty Obligations (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:OutstandingForwardContractsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2334308 - Disclosure - Derivative Instruments (Tables)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsTables",
     "shortName": "Derivative Instruments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:OutstandingForwardContractsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2341309 - Disclosure - Revenue Recognition (Tables)",
     "role": "http://www.cognex.com/role/RevenueRecognitionTables",
     "shortName": "Revenue Recognition (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2348310 - Disclosure - Stock-Based Compensation Expense (Tables)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseTables",
     "shortName": "Stock-Based Compensation Expense (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2360311 - Disclosure - Weighted-Average Shares (Tables)",
     "role": "http://www.cognex.com/role/WeightedAverageSharesTables",
     "shortName": "Weighted-Average Shares (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003004 - Statement - Consolidated Statements of Comprehensive Income (Parenthetical)",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical",
     "shortName": "Consolidated Statements of Comprehensive Income (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406401 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)",
     "role": "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails",
     "shortName": "Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i64281e3c6df04eb4bbd5ae0ef2c451a8_I20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2407402 - Disclosure - Fair Value Measurements (Details)",
     "role": "http://www.cognex.com/role/FairValueMeasurementsDetails",
     "shortName": "Fair Value Measurements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2410403 - Disclosure - Cash, Cash Equivalents, and Investments (Details)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails",
     "shortName": "Cash, Cash Equivalents, and Investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2411404 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
     "shortName": "Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412405 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
     "shortName": "Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413406 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
     "shortName": "Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414407 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
     "shortName": "Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2417408 - Disclosure - Inventories - Schedule of Inventories (Details)",
     "role": "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails",
     "shortName": "Inventories - Schedule of Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420409 - Disclosure - Leases - Narrative (Details)",
     "role": "http://www.cognex.com/role/LeasesNarrativeDetails",
     "shortName": "Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2421410 - Disclosure - Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)",
     "role": "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails",
     "shortName": "Leases - Future Minimum Lease Payment Obligations Under Operating Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004005 - Statement - Consolidated Balance Sheets",
     "role": "http://www.cognex.com/role/ConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2424411 - Disclosure - Goodwill (Details)",
     "role": "http://www.cognex.com/role/GoodwillDetails",
     "shortName": "Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2427412 - Disclosure - Intangible Assets (Details)",
     "role": "http://www.cognex.com/role/IntangibleAssetsDetails",
     "shortName": "Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2430413 - Disclosure - Warranty Obligations - Changes in Warranty Obligations (Detail)",
     "role": "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail",
     "shortName": "Warranty Obligations - Changes in Warranty Obligations (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2432414 - Disclosure - Commitment and Contingencies (Details)",
     "role": "http://www.cognex.com/role/CommitmentandContingenciesDetails",
     "shortName": "Commitment and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i5ed2d698c5654399a4ae6621b9ba3d32_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2435415 - Disclosure - Derivative Instruments (Details)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsDetails",
     "shortName": "Derivative Instruments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i5ed2d698c5654399a4ae6621b9ba3d32_D20220101-20220703",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cgnx:OutstandingForwardContractsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i9fa85bdefdff42b182c42ff1a49c0610_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeAssetNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "eur",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2436416 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Details)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails",
     "shortName": "Derivative Instruments - Outstanding Forward Contracts Table (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cgnx:OutstandingForwardContractsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i9fa85bdefdff42b182c42ff1a49c0610_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeAssetNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "eur",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:OffsettingAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeAssets",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2437417 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails",
     "shortName": "Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "ia01ad5e1b05d46d98499861900f21876_I20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:DerivativeAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:OffsettingAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeFairValueOfDerivativeAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2438418 - Disclosure - Derivative Instruments - Offsetting Assets (Details)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails",
     "shortName": "Derivative Instruments - Offsetting Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:OffsettingAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeFairValueOfDerivativeAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i18e6ad545650414ba0427bb15f1f40ed_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2439419 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails",
     "shortName": "Derivative Instruments - Derivative Instruments, Gain (Loss) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i18e6ad545650414ba0427bb15f1f40ed_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2442420 - Disclosure - Revenue Recognition - Revenue Disaggregated by Geography (Details)",
     "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails",
     "shortName": "Revenue Recognition - Revenue Disaggregated by Geography (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "id4f60b94102045c6ad876f25645533fe_D20220404-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005006 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2443421 - Disclosure - Revenue Recognition - Revenue Disaggregated by Products and Services (Details)",
     "role": "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails",
     "shortName": "Revenue Recognition - Revenue Disaggregated by Products and Services (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i7a8bd57825f24189a82dd02689b07a55_D20220404-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedContractCostGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2444422 - Disclosure - Revenue Recognition - Additional Information (Details)",
     "role": "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails",
     "shortName": "Revenue Recognition - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i0120f99de321420e9573cf8bde1062c4_I20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedContractCostGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2445423 - Disclosure - Revenue Recognition - Schedule of Allowance for Credit Loss (Details)",
     "role": "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails",
     "shortName": "Revenue Recognition - Schedule of Allowance for Credit Loss (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2446424 - Disclosure - Revenue Recognition - Deferred Revenue Activity (Details)",
     "role": "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails",
     "shortName": "Revenue Recognition - Deferred Revenue Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2449425 - Disclosure - Stock-Based Compensation Expense (Details)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
     "shortName": "Stock-Based Compensation Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2450426 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails",
     "shortName": "Stock-Based Compensation Expense - Summary of Stock Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i194e427ca3d340af80848fb3854e8ef7_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2451427 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails",
     "shortName": "Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i1613c9c9faae42a490bda25821a1c269_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2452428 - Disclosure - Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails",
     "shortName": "Stock-Based Compensation Expense Stock-Based Compensation Expense - Schedule of Restricted Stock Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i1613c9c9faae42a490bda25821a1c269_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i44cc039320e1443e9eb41f3f97d5f0c6_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2453429 - Disclosure - Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
     "shortName": "Stock-Based Compensation Expense - Schedule of Performance Restricted Stock Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i44cc039320e1443e9eb41f3f97d5f0c6_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2454430 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails",
     "shortName": "Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i42059a6f763e44de9fd3f1dc1ae818ae_D20220404-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1006007 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iba8cb6eeb8094a8eb1688cbc39bc0846_D20220101-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:StockOptionPlanExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i3fc1b579c763483f89e053ac4c3b765a_I20200312",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2456431 - Disclosure - Stock Repurchase Program (Details)",
     "role": "http://www.cognex.com/role/StockRepurchaseProgramDetails",
     "shortName": "Stock Repurchase Program (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i3fc1b579c763483f89e053ac4c3b765a_I20200312",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2458432 - Disclosure - Income Taxes (Details)",
     "role": "http://www.cognex.com/role/IncomeTaxesDetails",
     "shortName": "Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2461433 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)",
     "role": "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails",
     "shortName": "Weighted-Average Shares - Calculation of Weighted-Average Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i8e6b59647e2146019e00324651aeced5_D20220404-20220703",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2462434 - Disclosure - Weighted-Average Shares (Details)",
     "role": "http://www.cognex.com/role/WeightedAverageSharesDetails",
     "shortName": "Weighted-Average Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i8e6b59647e2146019e00324651aeced5_D20220404-20220703",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "cgnx:GrossLossFromCatastrophes",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2464435 - Disclosure - Loss from Fire (Details)",
     "role": "http://www.cognex.com/role/LossfromFireDetails",
     "shortName": "Loss from Fire (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "iea3eeb7d358a440d83ef40dc8c8ca758_D20220607-20220607",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "cgnx:GrossLossFromCatastrophes",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i61ce873236814a3fa8823db347733f60_D20220802-20220802",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2466436 - Disclosure - Subsequent Events (Details)",
     "role": "http://www.cognex.com/role/SubsequentEventsDetails",
     "shortName": "Subsequent Events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i61ce873236814a3fa8823db347733f60_D20220802-20220802",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i5c51190f418d4624a1ced49cafff6754_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1007008 - Statement - Consolidated Statement of Shareholders' Equity",
     "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity",
     "shortName": "Consolidated Statement of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i5c51190f418d4624a1ced49cafff6754_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-20220703.htm",
      "contextRef": "i02d12742e4694b9f91a1f3025aaeb055_D20220404-20220703",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockDividendsPerShareCashPaid",
      "reportCount": 1,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1008009 - Statement - Consolidated Statement of Shareholders' Equity (Parenthetical)",
     "role": "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical",
     "shortName": "Consolidated Statement of Shareholders' Equity (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    }
   },
   "segmentCount": 63,
   "tag": {
    "cgnx_AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment",
        "label": "Accounts Receivable, Allowance For Credit Loss, Foreign Exchange Rate Adjustment",
        "terseLabel": "Foreign exchange rate changes"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossForeignExchangeRateAdjustment",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AccruedExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued expenses.",
        "label": "Accrued Expenses [Member]",
        "terseLabel": "Accrued Expenses"
       }
      }
     },
     "localname": "AccruedExpensesMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_AgencyBondsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency bond.",
        "label": "Agency Bonds [Member]",
        "terseLabel": "Agency Bonds"
       }
      }
     },
     "localname": "AgencyBondsMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_ApplicationSpecificCustomerSolutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Application-Specific Customer Solutions [Member]",
        "label": "Application-Specific Customer Solutions [Member]",
        "terseLabel": "Application-specific customer solutions"
       }
      }
     },
     "localname": "ApplicationSpecificCustomerSolutionsMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_AsiaExcludingChinaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asia, Excluding China [Member]",
        "label": "Asia, Excluding China [Member]",
        "terseLabel": "Other Asia"
       }
      }
     },
     "localname": "AsiaExcludingChinaMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.",
        "label": "Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value",
        "terseLabel": "4-5 Years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.",
        "label": "Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value",
        "terseLabel": "1-2 Years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available-for-sale securities, debt maturities after third year but before fourth year, fair value.",
        "label": "Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value",
        "terseLabel": "3-4 Years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Available-for-sale securities, debt maturities after second year but before third year, fair value.",
        "label": "Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value",
        "terseLabel": "2-3 Years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash, cash equivalents, short term and long term investments.",
        "label": "Cash Cash Equivalents Short Term And Long Term Investments",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "CashCashEquivalentsShortTermAndLongTermInvestments",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_CatastropheAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Catastrophe",
        "label": "Catastrophe [Abstract]"
       }
      }
     },
     "localname": "CatastropheAbstract",
     "nsuri": "http://www.cognex.com/20220703",
     "xbrltype": "stringItemType"
    },
    "cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of cash cash equivalents and investments.",
        "label": "Components Of Cash Cash Equivalents And Investments [Table Text Block]",
        "terseLabel": "Components of Cash, Cash Equivalents, and Investments"
       }
      }
     },
     "localname": "ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cgnx_CurrencytranslationadjustmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Currency translation adjustments [Abstract]",
        "label": "Currency translation adjustments [Abstract]",
        "terseLabel": "Foreign currency translation adjustments:"
       }
      }
     },
     "localname": "CurrencytranslationadjustmentsAbstract",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "cgnx_CustomerContractsAndRelationshipsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Contracts And Relationships [Member]",
        "label": "Customer Contracts And Relationships [Member]",
        "terseLabel": "Customer relationships"
       }
      }
     },
     "localname": "CustomerContractsAndRelationshipsMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Revenue, Foreign Currency Exchange Adjustment",
        "label": "Deferred Revenue, Foreign Currency Exchange Adjustment",
        "terseLabel": "Foreign exchange rate changes"
       }
      }
     },
     "localname": "DeferredRevenueForeignCurrencyExchangeAdjustment",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]",
        "label": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks [Member]",
        "terseLabel": "Indefinite-lived intangible asset excluding in-process technologies"
       }
      }
     },
     "localname": "DistributionRightsDevelopedTechnologyRightsCustomerContractsAndRelationshipsOtherIntangibleAssetsAndTrademarksMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Catastrophic Event, Amount",
        "label": "Effective Income Tax Rate Reconciliation, Catastrophic Event, Amount",
        "terseLabel": "Decrease in tax expense related to loss from fire"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationCatastrophicEventAmount",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount",
        "label": "Effective Income Tax Rate Reconciliation, Discrete Tax Expense (Benefit) , Amount",
        "terseLabel": "Discrete tax expense (benefit)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationDiscreteTaxExpenseBenefitAmount",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent",
        "label": "Effective Income Tax Rate Reconciliation, Excluding Discrete Items, Percent",
        "terseLabel": "Effective tax rate excluding discrete items (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationExcludingDiscreteItemsPercent",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee service share based compensation recognized period costs capitalized amount.",
        "label": "Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount",
        "terseLabel": "Recognized period costs capitalized"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted average period to be recognized"
       }
      }
     },
     "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Estimated forfeiture rate for unvested options for all non-senior management.",
        "label": "Estimated Forfeiture Rate For Unvested Options For All Non Senior Management",
        "terseLabel": "Estimated annual forfeiture rate for unvested options for all other employees"
       }
      }
     },
     "localname": "EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Estimated forfeiture rate for unvested options for senior management.",
        "label": "Estimated Forfeiture Rate For Unvested Options For Senior Management",
        "terseLabel": "Estimated annual forfeiture rate for unvested options for senior management"
       }
      }
     },
     "localname": "EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cgnx_ExcessAndObsoleteInventoryCharges": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess and Obsolete Inventory Charges",
        "label": "Excess and Obsolete Inventory Charges",
        "terseLabel": "Excess and obsolete inventory charges"
       }
      }
     },
     "localname": "ExcessAndObsoleteInventoryCharges",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_ExpirationPeriodOfStockOptionPlan": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expiration period of stock option plan.",
        "label": "Expiration Period Of Stock Option Plan",
        "terseLabel": "Expiration period from grant day"
       }
      }
     },
     "localname": "ExpirationPeriodOfStockOptionPlan",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cgnx_GeneralStockOptionPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "General stock option plan.",
        "label": "General Stock Option Plan [Member]",
        "terseLabel": "General Stock Option Plan"
       }
      }
     },
     "localname": "GeneralStockOptionPlanMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_GrossLossFromCatastrophes": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross Loss from Catastrophes",
        "label": "Gross Loss from Catastrophes",
        "terseLabel": "Gross loss from catastrophes"
       }
      }
     },
     "localname": "GrossLossFromCatastrophes",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/LossfromFireDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The tax year(s) being audited in connection with the income tax examination for other entities.",
        "label": "Income Tax Examination Years Under Examination Other Entities",
        "terseLabel": "Tax years open to examination by various taxing authorities for other entities"
       }
      }
     },
     "localname": "IncomeTaxExaminationYearsUnderExaminationOtherEntities",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (decrease) in compensation expense due to revised estimated forfeiture rates.",
        "label": "Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates",
        "terseLabel": "Increase (decrease) to compensation expense"
       }
      }
     },
     "localname": "IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_LesseeOperatingLeaseOptionToRenewTermOfContract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Option to Renew, Term of Contract",
        "label": "Lessee, Operating Lease, Option to Renew, Term of Contract",
        "terseLabel": "Option to renew, term of contract"
       }
      }
     },
     "localname": "LesseeOperatingLeaseOptionToRenewTermOfContract",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cgnx_LiabilityForUncertainTaxPositions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability for uncertain tax positions, total.",
        "label": "Liability For Uncertain Tax Positions",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositions",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_LongTermInvestmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term investments.",
        "label": "Long Term Investments [Member]",
        "terseLabel": "Long-Term Investments"
       }
      }
     },
     "localname": "LongTermInvestmentsMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_LossFromCatastropheTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Loss From Catastrophe",
        "label": "Loss From Catastrophe [Text Block]",
        "terseLabel": "Loss from Fire"
       }
      }
     },
     "localname": "LossFromCatastropheTextBlock",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/LossfromFire"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cgnx_NonCashLossFromCatastrophes": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-cash, Loss from Catastrophes",
        "label": "Non-cash, Loss from Catastrophes",
        "terseLabel": "Non-cash impact of write-offs related to fire (Note 17)"
       }
      }
     },
     "localname": "NonCashLossFromCatastrophes",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_NumberOfGroupsWithinEmployeePopulation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of groups within employee population.",
        "label": "Number Of Groups Within Employee Population",
        "terseLabel": "Groups within the employee population"
       }
      }
     },
     "localname": "NumberOfGroupsWithinEmployeePopulation",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "cgnx_OutstandingForwardContractsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Outstanding forward contracts table.",
        "label": "Outstanding Forward Contracts [Table Text Block]",
        "terseLabel": "Outstanding Forward Contracts Table"
       }
      }
     },
     "localname": "OutstandingForwardContractsTableTextBlock",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cgnx_RepurchaseProgramMarch2020Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repurchase Program March 2020 [Member]",
        "label": "Repurchase Program March 2020 [Member]",
        "terseLabel": "Repurchase Program March 2020"
       }
      }
     },
     "localname": "RepurchaseProgramMarch2020Member",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_RepurchaseProgramMarch2022Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repurchase Program March 2022",
        "label": "Repurchase Program March 2022 [Member]",
        "terseLabel": "Repurchase Program March 2022"
       }
      }
     },
     "localname": "RepurchaseProgramMarch2022Member",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_SellingGeneralAndAdministrativeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Selling, general, and administrative.",
        "label": "Selling General And Administrative [Member]",
        "terseLabel": "Selling, General, and Administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Additional Disclosures1 [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value (in\u00a0thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value",
        "terseLabel": "Exercisable, in dollars"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options vested fair value.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value",
        "terseLabel": "Total fair values of stock options vest"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.",
        "label": "Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value",
        "terseLabel": "Total intrinsic value"
       }
      }
     },
     "localname": "SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_SouthboroughMassachusettsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Southborough, Massachusetts",
        "label": "Southborough, Massachusetts [Member]",
        "terseLabel": "Southborough, Massachusetts"
       }
      }
     },
     "localname": "SouthboroughMassachusettsMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_StandardProductsandServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Standard Products and Services [Member]",
        "label": "Standard Products and Services [Member]",
        "terseLabel": "Standard products and services"
       }
      }
     },
     "localname": "StandardProductsandServicesMember",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_TaxyearsopentoexaminationbyInternalRevenueService": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tax years open to examination by Internal Revenue Service",
        "label": "Tax years open to examination by Internal Revenue Service",
        "terseLabel": "Tax years open to examination by Internal Revenue Service"
       }
      }
     },
     "localname": "TaxyearsopentoexaminationbyInternalRevenueService",
     "nsuri": "http://www.cognex.com/20220703",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHINA",
        "terseLabel": "Greater China"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_KP": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF",
        "terseLabel": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF"
       }
      }
     },
     "localname": "KP",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_AllCurrenciesDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Currencies [Domain]",
        "terseLabel": "All Currencies [Domain]"
       }
      }
     },
     "localname": "AllCurrenciesDomain",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_CAD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada, Dollars",
        "terseLabel": "Canada, Dollars"
       }
      }
     },
     "localname": "CAD",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_CNY": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "China, Yuan Renminbi",
        "terseLabel": "China, Yuan Renminbi"
       }
      }
     },
     "localname": "CNY",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_EUR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Euro Member Countries, Euro",
        "terseLabel": "Euro Member Countries, Euro"
       }
      }
     },
     "localname": "EUR",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_GBP": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United Kingdom, Pounds",
        "terseLabel": "United Kingdom, Pounds"
       }
      }
     },
     "localname": "GBP",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_HUF": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hungary, Forint",
        "terseLabel": "Hungary, Forint"
       }
      }
     },
     "localname": "HUF",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_JPY": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Japan, Yen",
        "terseLabel": "Japanese Yen"
       }
      }
     },
     "localname": "JPY",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_KRW": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Korea (South), Won",
        "terseLabel": "Korean Won"
       }
      }
     },
     "localname": "KRW",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_MXN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mexico, Pesos",
        "terseLabel": "Mexico, Pesos"
       }
      }
     },
     "localname": "MXN",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]",
        "terseLabel": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_AmericasMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Americas [Member]",
        "terseLabel": "Americas"
       }
      }
     },
     "localname": "AmericasMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CurrencyAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Currency [Axis]",
        "terseLabel": "Currency [Axis]"
       }
      }
     },
     "localname": "CurrencyAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r265",
      "r272",
      "r323",
      "r324",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r521",
      "r565",
      "r568",
      "r605",
      "r606"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r265",
      "r272",
      "r323",
      "r324",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r521",
      "r565",
      "r568",
      "r605",
      "r606"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r148",
      "r244",
      "r245",
      "r303",
      "r306",
      "r524",
      "r564",
      "r566"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r148",
      "r244",
      "r245",
      "r303",
      "r306",
      "r524",
      "r564",
      "r566"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r238",
      "r243",
      "r244",
      "r245",
      "r246",
      "r265",
      "r272",
      "r314",
      "r323",
      "r324",
      "r355",
      "r356",
      "r357",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r521",
      "r565",
      "r568",
      "r605",
      "r606"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r238",
      "r243",
      "r244",
      "r245",
      "r246",
      "r265",
      "r272",
      "r314",
      "r323",
      "r324",
      "r355",
      "r356",
      "r357",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r521",
      "r565",
      "r568",
      "r605",
      "r606"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r149",
      "r150",
      "r303",
      "r307",
      "r567",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails",
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r149",
      "r150",
      "r303",
      "r307",
      "r567",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails",
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r36",
      "r486"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r192"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of Allowance for Credit Loss Activity"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r153",
      "r154"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, allowance for credit losses of $741 and $776 in 2022 and 2021, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Accretion (Amortization) of Discounts and Premiums, Investments",
        "negatedLabel": "Amortization of discounts or premiums on investments"
       }
      }
     },
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxes": {
     "auth_ref": [
      "r14",
      "r15",
      "r379",
      "r533",
      "r550"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due. This amount is the total of current and noncurrent accrued income taxes.",
        "label": "Accrued Income Taxes",
        "terseLabel": "Non-current accrued income taxes"
       }
      }
     },
     "localname": "AccruedIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r14",
      "r533",
      "r551"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Accrued Income Taxes, Current",
        "terseLabel": "Accrued income taxes"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r23",
      "r54",
      "r56",
      "r57",
      "r553",
      "r573",
      "r576"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss, net of tax"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r53",
      "r57",
      "r66",
      "r67",
      "r68",
      "r98",
      "r99",
      "r100",
      "r406",
      "r482",
      "r569",
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r364",
      "r365",
      "r366",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r326",
      "r368",
      "r369"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r360"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-Based Payment Arrangement, Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r27",
      "r155",
      "r187",
      "r189",
      "r191"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "periodEndLabel": "Balance as of July 3, 2022",
        "periodStartLabel": "Balance as of December 31, 2021"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r27",
      "r155",
      "r187"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Allowance for credit losses, current"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]",
        "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r190"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedTerseLabel": "Write-offs, net of recoveries"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionScheduleofAllowanceforCreditLossDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r87",
      "r225",
      "r230"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive securities excluded from computation of earnings per share (shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]",
        "terseLabel": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "auth_ref": [
      "r170",
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans.",
        "label": "Asset-Backed Securities [Member]",
        "terseLabel": "Asset-Backed Securities"
       }
      }
     },
     "localname": "AssetBackedSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r87",
      "r234"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "Asset Impairment Charges",
        "terseLabel": "Asset impairment charge"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LossfromFireDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r13",
      "r93",
      "r137",
      "r140",
      "r146",
      "r183",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r403",
      "r407",
      "r450",
      "r484",
      "r486",
      "r532",
      "r549"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r5",
      "r35",
      "r93",
      "r183",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r403",
      "r407",
      "r450",
      "r484",
      "r486"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Fair Value Disclosure [Abstract]",
        "terseLabel": "Assets:"
       }
      }
     },
     "localname": "AssetsFairValueDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "auth_ref": [
      "r164"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax",
        "terseLabel": "Gross unrealized gains"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "auth_ref": [
      "r165"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "negatedTerseLabel": "Gross unrealized losses"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "auth_ref": [
      "r161",
      "r196"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost",
        "totalLabel": "Amortized cost"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "auth_ref": [
      "r166",
      "r168",
      "r546"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One",
        "terseLabel": "less than 1 year"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r159",
      "r162",
      "r196",
      "r536"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale",
        "terseLabel": "Financial assets at fair value",
        "totalLabel": "Fair value",
        "verboseLabel": "Fair value"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "auth_ref": [
      "r160",
      "r196"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": 2.0,
       "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments",
       "weight": 1.0
      },
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "Debt Securities, Available-for-Sale, Current",
        "terseLabel": "Current investments, amortized cost of $184,849 and $137,124 in 2022 and 2021, respectively, allowance for credit losses of $0 in 2022 and 2021",
        "verboseLabel": "Current investments"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": {
     "auth_ref": [
      "r9",
      "r160",
      "r196"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "Debt Securities, Available-for-Sale, Noncurrent",
        "terseLabel": "Long-term investments"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r349",
      "r351",
      "r352",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]",
        "terseLabel": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r417",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalizedContractCostGross": {
     "auth_ref": [
      "r209"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Gross",
        "terseLabel": "Costs to fulfill contract"
       }
      }
     },
     "localname": "CapitalizedContractCostGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r8",
      "r486",
      "r577",
      "r578"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash",
        "terseLabel": "Cash"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]",
        "terseLabel": "Cash and Cash Equivalents [Abstract]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r3",
      "r8",
      "r89"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": 1.0,
       "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments",
       "weight": 1.0
      },
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents",
        "totalLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsDisclosureTextBlock": {
     "auth_ref": [
      "r8"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for cash and cash equivalent footnotes, which may include the types of deposits and money market instruments, applicable carrying amounts, restricted amounts and compensating balance arrangements. Cash and equivalents include: (1) currency on hand (2) demand deposits with banks or financial institutions (3) other kinds of accounts that have the general characteristics of demand deposits (4) short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Generally, only investments maturing within three months from the date of acquisition qualify.",
        "label": "Cash and Cash Equivalents Disclosure [Text Block]",
        "terseLabel": "Cash, Cash Equivalents, and Investments"
       }
      }
     },
     "localname": "CashAndCashEquivalentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Cash and Cash Equivalents [Line Items]",
        "terseLabel": "Cash and Cash Equivalents [Line Items]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r84",
      "r89",
      "r90"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r84",
      "r458"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net change in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r8"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash Equivalents, at Carrying Value",
        "terseLabel": "Treasury bills"
       }
      }
     },
     "localname": "CashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "auth_ref": [
      "r287",
      "r288",
      "r289",
      "r290"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.",
        "label": "Class of Treasury Stock [Table]",
        "terseLabel": "Class of Treasury Stock [Table]"
       }
      }
     },
     "localname": "ClassOfTreasuryStockTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]",
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r240",
      "r241",
      "r242",
      "r247",
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CommitmentandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockDividendsPerShareCashPaid": {
     "auth_ref": [
      "r286"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.",
        "label": "Common Stock, Dividends, Per Share, Cash Paid",
        "terseLabel": "Cash dividends per common share (usd per share)"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareCashPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical",
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "auth_ref": [
      "r286"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.",
        "label": "Common Stock, Dividends, Per Share, Declared",
        "terseLabel": "Dividends (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareDeclared",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r98",
      "r99",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "verboseLabel": "Common stock par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "periodEndLabel": "Ending Balance (in shares)",
        "periodStartLabel": "Beginning Balance (in shares)",
        "terseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r19",
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValueOutstanding": {
     "auth_ref": [
      "r19"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.",
        "label": "Common Stock, Value, Outstanding",
        "terseLabel": "Common stock, $.002 par value \u2013 Authorized: 300,000 shares in 2022 and 2021, respectively; issued and outstanding: 173,397 and 175,481 shares in 2022 and 2021, respectively"
       }
      }
     },
     "localname": "CommonStockValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r62",
      "r64",
      "r65",
      "r72",
      "r540",
      "r560"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Total comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income (loss), net of tax:"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r292",
      "r293",
      "r304"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue and customer deposits"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateBondSecuritiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).",
        "label": "Corporate Bond Securities [Member]",
        "terseLabel": "Corporate Bonds"
       }
      }
     },
     "localname": "CorporateBondSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r75",
      "r524"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenue"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsTotalMember": {
     "auth_ref": [
      "r133"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cost of product sold and service rendered, when it serves as benchmark in concentration of risk calculation.",
        "label": "Cost of Goods and Service Benchmark [Member]",
        "terseLabel": "Cost of Revenue"
       }
      }
     },
     "localname": "CostOfGoodsTotalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLoss": {
     "auth_ref": [
      "r163",
      "r196",
      "r202",
      "r203"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss",
        "terseLabel": "Debt securities, available-for-sale, allowance for credit loss"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent": {
     "auth_ref": [
      "r196"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Current",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent": {
     "auth_ref": [
      "r196"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Noncurrent",
        "terseLabel": "Allowance for credit losses, non-current"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease": {
     "auth_ref": [
      "r204"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in allowance for credit loss of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Period Increase (Decrease)",
        "terseLabel": "Credit loss on investments"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent": {
     "auth_ref": [
      "r161",
      "r196"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Current",
        "terseLabel": "Amortized cost of current investments"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent": {
     "auth_ref": [
      "r161",
      "r196"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent.",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost, Noncurrent",
        "terseLabel": "Amortized cost of non-current investments"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": {
     "auth_ref": [
      "r175",
      "r200",
      "r205"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer",
        "terseLabel": "Fair value, 12 months or greater"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": {
     "auth_ref": [
      "r175",
      "r200"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss",
        "negatedLabel": "Unrealized losses, 12 months or greater"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": {
     "auth_ref": [
      "r175",
      "r200",
      "r205"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months",
        "terseLabel": "Fair value, less than 12 months"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": {
     "auth_ref": [
      "r175",
      "r200"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss",
        "negatedLabel": "Unrealized losses, less than 12 months"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": {
     "auth_ref": [
      "r177"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Realized Gain",
        "terseLabel": "Gross realized gains on sale of investments"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedGain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": {
     "auth_ref": [
      "r177"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Debt Securities, Available-for-Sale, Realized Loss",
        "terseLabel": "Gross realized losses on sale of investments"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": {
     "auth_ref": [
      "r172",
      "r197",
      "r205"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss.",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position",
        "totalLabel": "Total fair value"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": {
     "auth_ref": [
      "r173",
      "r198"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss",
        "negatedTotalLabel": "Total Unrealized Losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r373",
      "r374"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r373",
      "r374"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenue": {
     "auth_ref": [
      "r17"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Deferred Revenue",
        "periodEndLabel": "Balance as of July 3, 2022",
        "periodStartLabel": "Balance as of December 31, 2021"
       }
      }
     },
     "localname": "DeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueAdditions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.",
        "label": "Deferred Revenue, Additions",
        "terseLabel": "Deferral of revenue billed in the current period, net of recognition"
       }
      }
     },
     "localname": "DeferredRevenueAdditions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.",
        "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]",
        "terseLabel": "Deferred Revenue, by Arrangement, Disclosure"
       }
      }
     },
     "localname": "DeferredRevenueByArrangementDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.",
        "label": "Deferred Revenue, Revenue Recognized",
        "negatedTerseLabel": "Recognition of revenue deferred in prior period"
       }
      }
     },
     "localname": "DeferredRevenueRevenueRecognized1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r87",
      "r235"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation of property, plant, and equipment"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset": {
     "auth_ref": [
      "r43",
      "r409"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DerivativeAssets",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.",
        "label": "Derivative Asset, Subject to Master Netting Arrangement, Collateral, Obligation to Return Cash, Offset Against Derivative Asset",
        "negatedTerseLabel": "Gross amounts offset"
       }
      }
     },
     "localname": "DerivativeAssetCollateralObligationToReturnCashOffset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetNotionalAmount": {
     "auth_ref": [
      "r411",
      "r412",
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payments on the derivative asset.",
        "label": "Derivative Asset, Notional Amount",
        "terseLabel": "Outstanding forward contracts"
       }
      }
     },
     "localname": "DerivativeAssetNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssets": {
     "auth_ref": [
      "r44",
      "r47",
      "r48",
      "r449"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Asset",
        "terseLabel": "Derivative asset",
        "totalLabel": "Net amount of assets presented"
       }
      }
     },
     "localname": "DerivativeAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeAsset": {
     "auth_ref": [
      "r42",
      "r48",
      "r49",
      "r420",
      "r503"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DerivativeAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.",
        "label": "Derivative Asset, Subject to Master Netting Arrangement, before Offset",
        "verboseLabel": "Gross amounts of recognized assets"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiability": {
     "auth_ref": [
      "r42",
      "r48",
      "r49",
      "r420",
      "r503"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DerivativeLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.",
        "label": "Derivative Liability, Subject to Master Netting Arrangement, before Offset",
        "verboseLabel": "Gross amounts of recognized liabilities"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeGainLossOnDerivativeNet": {
     "auth_ref": [
      "r419"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.",
        "label": "Derivative, Gain (Loss) on Derivative, Net",
        "terseLabel": "Gains (losses) recognized in current operations"
       }
      }
     },
     "localname": "DerivativeGainLossOnDerivativeNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]",
        "terseLabel": "Derivative Instruments and Hedging Activities Disclosure [Abstract]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r431",
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.",
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "terseLabel": "Derivative Instruments"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]",
        "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Line Items]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about derivatives and hedging activities.",
        "label": "Derivative Instruments and Hedging Activities Disclosures [Table]",
        "terseLabel": "Derivative Instruments and Hedging Activities Disclosures [Table]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "auth_ref": [
      "r415",
      "r418",
      "r423",
      "r425",
      "r426",
      "r429",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table]",
        "terseLabel": "Derivative Instruments, Gain (Loss) [Table]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "terseLabel": "Derivative Instruments, Gain (Loss) [Line Items]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeLiabilities": {
     "auth_ref": [
      "r44",
      "r47",
      "r48",
      "r449"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability",
        "terseLabel": "Derivative liability",
        "totalLabel": "Net amount of liabilities presented"
       }
      }
     },
     "localname": "DerivativeLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset": {
     "auth_ref": [
      "r43",
      "r409"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DerivativeLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.",
        "label": "Derivative Liability, Subject to Master Netting Arrangement, Collateral, Right to Reclaim Cash Offset",
        "negatedTerseLabel": "Gross amounts offset"
       }
      }
     },
     "localname": "DerivativeLiabilityCollateralRightToReclaimCashOffset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivative [Line Items]",
        "terseLabel": "Derivative [Line Items]"
       }
      }
     },
     "localname": "DerivativeLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeTable": {
     "auth_ref": [
      "r410",
      "r413",
      "r414",
      "r415",
      "r416",
      "r422",
      "r423",
      "r427",
      "r428",
      "r430",
      "r431"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.",
        "label": "Derivative [Table]",
        "terseLabel": "Derivative [Table]"
       }
      }
     },
     "localname": "DerivativeTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Derivatives, Fair Value [Line Items]"
       }
      }
     },
     "localname": "DerivativesFairValueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Completed technologies"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r303",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]",
        "terseLabel": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DistributionRightsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Legal rights, generally of a limited duration, to distribute a product or products, often within specific geographic areas or supply channels.",
        "label": "Distribution Rights [Member]",
        "terseLabel": "Distribution networks"
       }
      }
     },
     "localname": "DistributionRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DividendsCash": {
     "auth_ref": [
      "r286",
      "r548"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred.",
        "label": "Dividends, Cash",
        "negatedTerseLabel": "Payment of dividends"
       }
      }
     },
     "localname": "DividendsCash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Domestic Tax Authority"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Earnings Per Share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r73",
      "r107",
      "r108",
      "r109",
      "r110",
      "r111",
      "r120",
      "r122",
      "r123",
      "r124",
      "r129",
      "r130",
      "r435",
      "r436",
      "r541",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted (usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted [Abstract]",
        "terseLabel": "Net income per weighted-average common and common-equivalent share:"
       }
      }
     },
     "localname": "EarningsPerShareDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r125",
      "r127",
      "r128",
      "r131"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Weighted-Average Shares"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageShares"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r458"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r376"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r94",
      "r376",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "Statutory tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": {
     "auth_ref": [
      "r370",
      "r376"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount",
        "terseLabel": "Decrease in tax expense related to stock-based compensation"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r361"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "auth_ref": [
      "r360"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Expense, Tax Benefit",
        "terseLabel": "Tax benefit from compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "terseLabel": "Employee Stock Option"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue from External Customer [Line Items]",
        "terseLabel": "Revenue from External Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]",
        "terseLabel": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityClassOfTreasuryStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Equity, Class of Treasury Stock [Line Items]",
        "terseLabel": "Equity, Class of Treasury Stock [Line Items]"
       }
      }
     },
     "localname": "EquityClassOfTreasuryStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r66",
      "r67",
      "r68",
      "r98",
      "r99",
      "r100",
      "r104",
      "r112",
      "r114",
      "r132",
      "r184",
      "r285",
      "r286",
      "r364",
      "r365",
      "r366",
      "r386",
      "r387",
      "r434",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r482",
      "r569",
      "r570",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EstimatedInsuranceRecoveries": {
     "auth_ref": [
      "r12"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of amounts expected to be recovered under the terms of insurance contracts.",
        "label": "Estimated Insurance Recoveries",
        "terseLabel": "Estimated insurance recoveries"
       }
      }
     },
     "localname": "EstimatedInsuranceRecoveries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LossfromFireDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r441",
      "r442",
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r266",
      "r268",
      "r269",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r442",
      "r493",
      "r494",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r441",
      "r442",
      "r443",
      "r444",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]",
        "terseLabel": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]",
        "terseLabel": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r266",
      "r315",
      "r316",
      "r321",
      "r322",
      "r442",
      "r493"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "terseLabel": "Quoted\u00a0Prices\u00a0in Active Markets for Identical Assets (Level 1)"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r266",
      "r268",
      "r269",
      "r315",
      "r316",
      "r321",
      "r322",
      "r442",
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "terseLabel": "Significant Other Observable Inputs (Level 2)"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r266",
      "r268",
      "r269",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r442",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Unobservable Inputs (Level 3)"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]",
        "terseLabel": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": {
     "auth_ref": [
      "r445"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value",
        "terseLabel": "Contingent consideration liability"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r266",
      "r268",
      "r269",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r493",
      "r494",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r446",
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value, Recurring [Member]",
        "terseLabel": "Fair Value, Measurements, Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "auth_ref": [
      "r417",
      "r422",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "terseLabel": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]"
       }
      }
     },
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r170",
      "r171",
      "r180",
      "r181",
      "r182",
      "r188",
      "r192",
      "r193",
      "r194",
      "r195",
      "r199",
      "r201",
      "r204",
      "r205",
      "r267",
      "r283",
      "r431",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]",
        "terseLabel": "Financial Instrument [Axis]"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r11",
      "r229"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r231"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year",
        "verboseLabel": "Remainder of fiscal 2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r231"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r231"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r231"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r231"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r226",
      "r227",
      "r229",
      "r232",
      "r525",
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r229",
      "r529"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Distribution Rights, Developed Technology Rights, Customer Contracts And Relationships, Other Intangible Assets, And Trademarks"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r226",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r229",
      "r525"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cognex.com/role/IntangibleAssetsDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Net Carrying Value"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile.",
        "label": "Foreign Tax Authority [Member]",
        "terseLabel": "Foreign Tax Authority"
       }
      }
     },
     "localname": "ForeignCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.",
        "label": "Foreign Currency Contract, Asset, Fair Value Disclosure",
        "terseLabel": "Economic hedge forward contracts"
       }
      }
     },
     "localname": "ForeignCurrencyContractAssetFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.",
        "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure",
        "terseLabel": "Economic hedge forward contracts"
       }
      }
     },
     "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyGainLossMember": {
     "auth_ref": [
      "r424"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing foreign currency gain (loss).",
        "label": "Foreign Currency Gain (Loss) [Member]",
        "terseLabel": "Foreign Currency Gain (Loss)"
       }
      }
     },
     "localname": "ForeignCurrencyGainLossMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r454",
      "r455",
      "r456",
      "r457"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign currency gain (loss)"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.",
        "label": "Gain (Loss) on Disposition of Assets",
        "negatedTerseLabel": "Loss (gain) on disposal of property, plant, and equipment"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfInvestments": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.",
        "label": "Gain (Loss) on Sale of Investments",
        "negatedLabel": "Realized loss (gain) on sale of investments"
       }
      }
     },
     "localname": "GainLossOnSaleOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r10",
      "r210",
      "r211",
      "r218",
      "r223",
      "r486",
      "r531"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Balance as of July 3, 2022",
        "periodStartLabel": "Balance as of December 31, 2021",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/GoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillDisclosureTextBlock": {
     "auth_ref": [
      "r219",
      "r221",
      "r223",
      "r224"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill.",
        "label": "Goodwill Disclosure [Text Block]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/Goodwill"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r216"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "terseLabel": "Foreign exchange rate changes"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/GoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Goodwill [Roll Forward]",
        "terseLabel": "Goodwill [Roll Forward]"
       }
      }
     },
     "localname": "GoodwillRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/GoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r74",
      "r93",
      "r137",
      "r139",
      "r142",
      "r145",
      "r147",
      "r183",
      "r254",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r450"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross margin"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r415",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Axis]",
        "terseLabel": "Hedging Designation [Axis]"
       }
      }
     },
     "localname": "HedgingDesignationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Domain]",
        "terseLabel": "Hedging Designation [Domain]"
       }
      }
     },
     "localname": "HedgingDesignationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r70",
      "r137",
      "r139",
      "r142",
      "r145",
      "r147",
      "r530",
      "r538",
      "r542",
      "r562"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income tax expense"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r69",
      "r73",
      "r103",
      "r107",
      "r108",
      "r109",
      "r110",
      "r120",
      "r122",
      "r123",
      "r124",
      "r436",
      "r541",
      "r557",
      "r559",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Diluted Share",
        "terseLabel": "Basic (usd per share)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r237",
      "r239"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r239"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r378"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "auth_ref": [
      "r378"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of taxing authority.",
        "label": "Income Tax Authority, Name [Axis]",
        "terseLabel": "Income Tax Authority, Name [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority, Name [Domain]",
        "terseLabel": "Income Tax Authority, Name [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income Tax Contingency [Line Items]"
       }
      }
     },
     "localname": "IncomeTaxContingencyLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "auth_ref": [
      "r379",
      "r381",
      "r383",
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.",
        "label": "Income Tax Contingency [Table]",
        "terseLabel": "Income Tax Contingency [Table]"
       }
      }
     },
     "localname": "IncomeTaxContingencyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]",
        "terseLabel": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r94",
      "r377",
      "r382",
      "r384",
      "r391",
      "r394",
      "r396",
      "r397",
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r95",
      "r113",
      "r114",
      "r136",
      "r375",
      "r392",
      "r395",
      "r563"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r376"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "terseLabel": "Increase in tax expense related to valuation allowance"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "auth_ref": [
      "r376"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount",
        "terseLabel": "Increase in tax expense related to transfer pricing and return-to-provision adjustments"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxSettlements": {
     "auth_ref": [
      "r376"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax settlements. Including, but not limited to, domestic tax settlement, foreign tax settlement, state and local tax settlement, and other tax settlements.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Settlement, Amount",
        "terseLabel": "Increase in tax expense arising from tax settlement"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxSettlements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedTerseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.",
        "label": "Increase (Decrease) in Accrued Taxes Payable",
        "terseLabel": "Accrued income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r86",
      "r522"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Unbilled revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "negatedLabel": "Change in deferred income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredLiabilities": {
     "auth_ref": [
      "r86"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Change during the period in carrying value for all deferred liabilities due within one year or operating cycle.",
        "label": "Increase (Decrease) in Deferred Liabilities",
        "terseLabel": "Increase to non-current deferred tax liability"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue and customer deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedTerseLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net",
        "negatedTerseLabel": "Other"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingCapitalNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedTerseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r233"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Intangible Assets"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestReceivable": {
     "auth_ref": [
      "r20"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.",
        "label": "Interest Receivable",
        "terseLabel": "Accrued interest receivable"
       }
      }
     },
     "localname": "InterestReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]",
        "terseLabel": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r208"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/Inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r28",
      "r207"
     ],
     "calculation": {
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r4",
      "r34",
      "r486"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r30",
      "r207"
     ],
     "calculation": {
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r29",
      "r207"
     ],
     "calculation": {
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/InventoriesScheduleofInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r206"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Inventory write-down"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LossfromFireDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeNonoperating": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.",
        "label": "Investment Income, Nonoperating",
        "terseLabel": "Investment income"
       }
      }
     },
     "localname": "InvestmentIncomeNonoperating",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentTypeAxis": {
     "auth_ref": [
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of investments.",
        "label": "Investment Type [Axis]",
        "terseLabel": "Investment Type [Axis]"
       }
      }
     },
     "localname": "InvestmentTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "auth_ref": [
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset obtained to generate income or appreciate in value.",
        "label": "Investments [Domain]",
        "terseLabel": "Investments [Domain]"
       }
      }
     },
     "localname": "InvestmentTypeCategorizationMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.",
        "label": "Investments Classified by Contractual Maturity Date [Table Text Block]",
        "terseLabel": "Effective Maturity Dates of Available-for-Sale Investments"
       }
      }
     },
     "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r477",
      "r479"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "terseLabel": "Lease, cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r472"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]",
        "terseLabel": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Lessee, Operating Lease, Liability, Maturity"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r478"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "terseLabel": "Remainder of fiscal 2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Term of contract"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r37",
      "r93",
      "r141",
      "r183",
      "r254",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r404",
      "r407",
      "r408",
      "r450",
      "r484",
      "r485"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r26",
      "r93",
      "r183",
      "r450",
      "r486",
      "r535",
      "r555"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and shareholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r6",
      "r39",
      "r93",
      "r183",
      "r254",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r404",
      "r407",
      "r408",
      "r450",
      "r484",
      "r485",
      "r486"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Fair Value Disclosure [Abstract]",
        "terseLabel": "Liabilities:"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.",
        "label": "Liability for Uncertainty in Income Taxes, Noncurrent",
        "terseLabel": "Reserve for income taxes",
        "verboseLabel": "Reserve for income taxes classified as a noncurrent iability"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermInvestments": {
     "auth_ref": [
      "r9"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": 3.0,
       "parentTag": "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments",
       "weight": 1.0
      },
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).",
        "label": "Long-Term Investments",
        "terseLabel": "Non-current investments, amortized cost of $450,669 and $587,981 in 2022 and 2021, respectively, allowance for credit losses of $0 in 2022 and 2021",
        "verboseLabel": "Non-current investments"
       }
      }
     },
     "localname": "LongTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossFromCatastrophes": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The charge against earnings in the period for the uninsured portion of a loss from a fire, explosion, or natural disaster (hurricane, earthquake).",
        "label": "Loss from Catastrophes",
        "terseLabel": "Loss from fire (Note 17)",
        "verboseLabel": "Loss from fire"
       }
      }
     },
     "localname": "LossFromCatastrophes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations",
      "http://www.cognex.com/role/LossfromFireDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Maximum Remaining Maturity of Foreign Currency Derivatives",
        "terseLabel": "Remaining maturity of foreign currency derivatives (up to)"
       }
      }
     },
     "localname": "MaximumRemainingMaturityOfForeignCurrencyDerivatives1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_MoneyMarketFundsAtCarryingValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.",
        "label": "Money Market Funds, at Carrying Value",
        "terseLabel": "Money market instruments"
       }
      }
     },
     "localname": "MoneyMarketFundsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MovementInDeferredRevenueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Deferred Revenue [Roll Forward]",
        "terseLabel": "Movement in Deferred Revenue [Roll Forward]"
       }
      }
     },
     "localname": "MovementInDeferredRevenueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard Product Warranty Accrual [Roll Forward]",
        "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]"
       }
      }
     },
     "localname": "MovementInStandardProductWarrantyAccrualRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MunicipalBondsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.",
        "label": "Municipal Bonds [Member]",
        "terseLabel": "Municipal Bonds"
       }
      }
     },
     "localname": "MunicipalBondsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r84",
      "r85",
      "r88"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r2",
      "r60",
      "r63",
      "r68",
      "r71",
      "r88",
      "r93",
      "r103",
      "r107",
      "r108",
      "r109",
      "r110",
      "r113",
      "r114",
      "r121",
      "r137",
      "r139",
      "r142",
      "r145",
      "r147",
      "r183",
      "r254",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r436",
      "r450",
      "r539",
      "r558"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity",
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetRentableArea": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net rentable area for properties owned.",
        "label": "Net Rentable Area",
        "terseLabel": "Rentable area"
       }
      }
     },
     "localname": "NetRentableArea",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "areaItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r1",
      "r101",
      "r102",
      "r105",
      "r106",
      "r115",
      "r116",
      "r117",
      "r157",
      "r158",
      "r185",
      "r186",
      "r388",
      "r389",
      "r390",
      "r433",
      "r437",
      "r438",
      "r439",
      "r451",
      "r452",
      "r453",
      "r466",
      "r467",
      "r481",
      "r483",
      "r526",
      "r527",
      "r528",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]",
        "terseLabel": "New Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/NewPronouncements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "New Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NondesignatedMember": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Not Designated as Hedging Instrument [Member]",
        "terseLabel": "Not Designated as Hedging Instrument"
       }
      }
     },
     "localname": "NondesignatedMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetails",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OffsettingAssetsTableTextBlock": {
     "auth_ref": [
      "r45",
      "r46"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.",
        "label": "Offsetting Assets [Table Text Block]",
        "terseLabel": "Offsetting Assets"
       }
      }
     },
     "localname": "OffsettingAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r137",
      "r139",
      "r142",
      "r145",
      "r147"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r473",
      "r479"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease, cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r469"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r469"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r469"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Non-current operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r470",
      "r474"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating lease, payments"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r468"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r476",
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r475",
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r12"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r401",
      "r402",
      "r405"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.",
        "label": "Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent",
        "totalLabel": "Net change related to available-for-sale investments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r401",
      "r402",
      "r405"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent",
        "totalLabel": "Net change related to foreign currency translation adjustments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency translation adjustments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity",
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "terseLabel": "Available-for-sale investments:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r61",
      "r64",
      "r401",
      "r402",
      "r405"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "totalLabel": "Other comprehensive income (loss), net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": {
     "auth_ref": [
      "r54",
      "r58",
      "r59",
      "r179"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.",
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax",
        "negatedLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments into current operations",
        "negatedTerseLabel": "Reclassification of net realized (gain) loss on the sale of available-for-sale investments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity",
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r51",
      "r54"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Net unrealized gain (loss) on available-for-sale investments, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity",
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": {
     "auth_ref": [
      "r52",
      "r55"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax",
        "terseLabel": "Tax effect of unrealized gain (loss) on available-for-sale investments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquityParenthetical",
      "http://www.cognex.com/role/ConsolidatedStatementsofComprehensiveIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCurrentAssetsMember": {
     "auth_ref": [
      "r417",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current assets.",
        "label": "Other Current Assets [Member]",
        "terseLabel": "Other Current Assets"
       }
      }
     },
     "localname": "OtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intangible assets classified as other.",
        "label": "Other Intangible Assets [Member]",
        "terseLabel": "Non-compete agreements"
       }
      }
     },
     "localname": "OtherIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r40"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Noncurrent",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other income (expense)"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchase of common stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "Payments of Ordinary Dividends, Common Stock",
        "negatedTerseLabel": "Payment of dividends"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period.",
        "label": "Payments to Acquire Investments",
        "negatedLabel": "Purchases of investments"
       }
      }
     },
     "localname": "PaymentsToAcquireInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property, plant, and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance Shares"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r349",
      "r351",
      "r352",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r349",
      "r351",
      "r352",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r18",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock shares authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r18",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock shares issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock shares outstanding (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValueOutstanding": {
     "auth_ref": [
      "r18"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by shareholders, which is net of related treasury stock. May be all or a portion of the number of preferred shares authorized. These shares represent the ownership interest of the preferred shareholders.",
        "label": "Preferred Stock, Value, Outstanding",
        "terseLabel": "Preferred stock, $.01 par value \u2013 Authorized: 400 shares in 2022 and 2021, respectively; no shares issued and outstanding"
       }
      }
     },
     "localname": "PreferredStockValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.",
        "label": "Prepaid Expenses and Other Current Assets [Member]",
        "terseLabel": "Prepaid Expenses and Other Current Assets"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleofDerivativeInstrumentsinStatementofFinancialPositionFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": {
     "auth_ref": [
      "r82",
      "r363"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.",
        "label": "Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised",
        "terseLabel": "Net proceeds from issuance of common stock under stock plans"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.",
        "label": "Proceeds from Sale, Maturity and Collection of Investments",
        "terseLabel": "Maturities and sales of investments"
       }
      }
     },
     "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]",
        "terseLabel": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r250",
      "r251",
      "r537"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Standard and Extended Product Warranty Accrual",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "ProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r248"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Fulfillment of warranty obligations"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r249"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.",
        "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued",
        "verboseLabel": "Provisions for warranties issued during the period"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesinWarrantyObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "Warranty Obligations"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r236",
      "r486",
      "r547",
      "r556"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, plant, and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": {
     "auth_ref": [
      "r16",
      "r534",
      "r552"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.",
        "label": "Purchase Commitment, Remaining Minimum Amount Committed",
        "terseLabel": "Outstanding purchase orders"
       }
      }
     },
     "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CommitmentandContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r372",
      "r523",
      "r607"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research, development, and engineering expenses"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research, Development, and Engineering Expenses"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofEmployeeServiceSharebasedCompensationAllocationofRecognizedPeriodCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted Stock"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units (RSUs)"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r22",
      "r286",
      "r486",
      "r554",
      "r572",
      "r576"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r98",
      "r99",
      "r100",
      "r104",
      "r112",
      "r114",
      "r184",
      "r364",
      "r365",
      "r366",
      "r386",
      "r387",
      "r434",
      "r569",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueCommissionersIrelandMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government of Ireland.",
        "label": "Revenue Commissioners, Ireland [Member]",
        "terseLabel": "Revenue Commissioners, Ireland"
       }
      }
     },
     "localname": "RevenueCommissionersIrelandMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]",
        "terseLabel": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r134",
      "r135",
      "r138",
      "r143",
      "r144",
      "r148",
      "r149",
      "r152",
      "r302",
      "r303",
      "r524"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations",
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyGeographyDetails",
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r305",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r151"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.",
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]",
        "terseLabel": "Revenue from External Customers by Geographic Areas"
       }
      }
     },
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Securities, Available-for-Sale [Line Items]",
        "terseLabel": "Debt Securities, Available-for-sale [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.",
        "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]",
        "terseLabel": "Summary of Available-for-Sale Investments"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": {
     "auth_ref": [
      "r167",
      "r169",
      "r174",
      "r175",
      "r176",
      "r178",
      "r544",
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of available-for-sale securities which includes, but is not limited to, changes in the cost basis and fair value, fair value and gross unrealized gain (loss), fair values by type of security, contractual maturity and classification, amortized cost basis, contracts to acquire securities to be accounted for as available-for-sale, debt maturities, transfers to trading, change in net unrealized holding gain (loss) net of tax, continuous unrealized loss position fair value, aggregate losses qualitative disclosures, other than temporary impairment (OTTI) losses or other disclosures related to available for sale securities.",
        "label": "Schedule of Available-for-Sale Securities [Table]",
        "terseLabel": "Schedule of Available-for-sale Securities [Table]"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfCashAndCashEquivalentsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.",
        "label": "Schedule of Cash and Cash Equivalents [Table]",
        "terseLabel": "Schedule of Cash and Cash Equivalents [Table]"
       }
      }
     },
     "localname": "ScheduleOfCashAndCashEquivalentsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "auth_ref": [
      "r418",
      "r423",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Derivative Instruments, Gain (Loss)"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "auth_ref": [
      "r422"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r359",
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "verboseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r148"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]",
        "terseLabel": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedbyProductsandServicesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r148"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Revenue from External Customers by Products and Services"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r441",
      "r442"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Assets and Liabilities Measured at Fair Value on a Recurring Basis"
       }
      }
     },
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r226",
      "r228",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r226",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r222",
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/GoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r7",
      "r31",
      "r32",
      "r33"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/InventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units.",
        "label": "Schedule of Nonvested Performance-Based Units Activity [Table Text Block]",
        "terseLabel": "Schedule of Nonvested Performance-based Units Activity"
       }
      }
     },
     "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.",
        "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Schedule of Nonvested Restricted Stock Units Activity"
       }
      }
     },
     "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Changes in Warranty Obligations"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r325",
      "r327",
      "r328",
      "r329",
      "r330",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r349",
      "r351",
      "r352",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r331",
      "r347",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Stock Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r353"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).",
        "label": "Schedule of Unrealized Loss on Investments [Table Text Block]",
        "terseLabel": "Gross Unrealized Losses and Fair Values for Available-for-Sale Investments"
       }
      }
     },
     "localname": "ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r126"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).",
        "label": "Schedule of Weighted Average Number of Shares [Table Text Block]",
        "terseLabel": "Calculation of Weighted-Average Shares"
       }
      }
     },
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Intangible Assets, Future Amortization Expense"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general, and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period for stock option plans"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedTerseLabel": "Forfeited or expired (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited or expired (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r341",
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Nonvested as of End of Period (in shares)",
        "periodStartLabel": "Nonvested as of Beginning of Period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Shares (in thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r341",
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Nonvested as of End of Period (in dollars per share)",
        "periodStartLabel": "Nonvested as of Beginning of Period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted-Average Grant Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedTerseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "terseLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Expected dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "terseLabel": "Expected volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk-free rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/WeightedAverageSharesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Shares available for grant under stock option plans (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted- Average Remaining Contractual Term\u00a0(in\u00a0years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Exercisable as of reporting date, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r334"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "negatedLabel": "Forfeited or expired, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price of options that were either forfeited or expired.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Forfeited or expired, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "auth_ref": [
      "r336"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net number of share options (or share units) granted during the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures",
        "terseLabel": "Granted, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r348"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-average grant-date fair values, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r362"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Outstanding, in dollars"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r332",
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding, shares",
        "periodStartLabel": "Outstanding, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Shares (in\u00a0thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r332",
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding, in dollars per share",
        "periodStartLabel": "Outstanding, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted- Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "auth_ref": [
      "r352"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number",
        "terseLabel": "Options vested or expected to vest as of reporting date, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "auth_ref": [
      "r351"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Options vested or expected to vest, in dollars"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Vested and expected to vest, outstanding, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": {
     "auth_ref": [
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued under share-based payment arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period",
        "terseLabel": "Net issuance of common stock under stock plans (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r349",
      "r351",
      "r352",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleofPerformanceRestrictedStockUnitsDetails",
      "http://www.cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseScheduleofRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r336"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted, in dollars per share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareRepurchaseProgramAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by share repurchase program.",
        "label": "Share Repurchase Program [Axis]",
        "terseLabel": "Share Repurchase Program [Axis]"
       }
      }
     },
     "localname": "ShareRepurchaseProgramAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareRepurchaseProgramDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the share repurchase program.",
        "label": "Share Repurchase Program [Domain]",
        "terseLabel": "Share Repurchase Program [Domain]"
       }
      }
     },
     "localname": "ShareRepurchaseProgramDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected term (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedinEstimatingFairValuesofStockOptionsGrantedDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Exercisable, in years"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Outstanding, in years"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options vested or expected to vest, in years"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r291",
      "r371"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).",
        "label": "Shareholders' Equity and Share-Based Payments [Text Block]",
        "terseLabel": "Shareholders' Equity and Share-based Payments"
       }
      }
     },
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpense"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShortTermInvestmentsMember": {
     "auth_ref": [
      "r590",
      "r591",
      "r592",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet.",
        "label": "Short-Term Investments [Member]",
        "terseLabel": "Short-Term Investments"
       }
      }
     },
     "localname": "ShortTermInvestmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r91",
      "r97"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SovereignDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities that are issued or guaranteed by a national government.",
        "label": "Sovereign Debt [Member]",
        "terseLabel": "Sovereign Bonds"
       }
      }
     },
     "localname": "SovereignDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SovereignDebtSecuritiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt security issued by foreign government (not within the country of domicile of the entity).",
        "label": "Sovereign Debt Securities [Member]",
        "terseLabel": "Sovereign Bonds"
       }
      }
     },
     "localname": "SovereignDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StateAdministrationOfTaxationChinaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government of China.",
        "label": "State Administration of Taxation, China [Member]",
        "terseLabel": "State Administration of Taxation, China"
       }
      }
     },
     "localname": "StateAdministrationOfTaxationChinaMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r41",
      "r66",
      "r67",
      "r68",
      "r98",
      "r99",
      "r100",
      "r104",
      "r112",
      "r114",
      "r132",
      "r184",
      "r285",
      "r286",
      "r364",
      "r365",
      "r366",
      "r386",
      "r387",
      "r434",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r482",
      "r569",
      "r570",
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]",
        "terseLabel": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]",
        "terseLabel": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r132",
      "r524"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r18",
      "r19",
      "r285",
      "r286",
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryofStockOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r41",
      "r285",
      "r286"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Net issuance of common stock under stock plans"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionPlanExpense": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for option under share-based payment arrangement.",
        "label": "Stock or Unit Option Plan Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "StockOptionPlanExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRedeemedOrCalledDuringPeriodShares": {
     "auth_ref": [
      "r285"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of stock bought back by the entity at the exercise price or redemption price.",
        "label": "Stock Redeemed or Called During Period, Shares",
        "terseLabel": "Shares repurchased at cost (in shares)"
       }
      }
     },
     "localname": "StockRedeemedOrCalledDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRedeemedOrCalledDuringPeriodValue": {
     "auth_ref": [
      "r285"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock bought back by the entity at the exercise price or redemption price.",
        "label": "Stock Redeemed or Called During Period, Value",
        "terseLabel": "Shares repurchased at cost"
       }
      }
     },
     "localname": "StockRedeemedOrCalledDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Authorized common stock to be repurchased"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount remaining of a stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount",
        "terseLabel": "Remaining authorized repurchase amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r18",
      "r19",
      "r285",
      "r286"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "negatedTerseLabel": "Repurchase of common stock (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r18",
      "r19",
      "r285",
      "r286"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Value",
        "negatedTerseLabel": "Repurchase of common stock"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r19",
      "r24",
      "r25",
      "r93",
      "r156",
      "r183",
      "r450",
      "r486"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "totalLabel": "Total shareholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/ConsolidatedStatementofShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Shareholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r92",
      "r271",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r284",
      "r286",
      "r291",
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stock Repurchase Program"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgram"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]",
        "terseLabel": "Subsequent Event [Line Items]"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r465",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent Event"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r465",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]",
        "terseLabel": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r465",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]",
        "terseLabel": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r465",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]",
        "terseLabel": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r487",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TrademarksMember": {
     "auth_ref": [
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.",
        "label": "Trademarks [Member]",
        "terseLabel": "Trademarks"
       }
      }
     },
     "localname": "TrademarksMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r170",
      "r171",
      "r180",
      "r181",
      "r182",
      "r267",
      "r283",
      "r431",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.",
        "label": "Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments [Domain]"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "auth_ref": [
      "r96",
      "r315",
      "r322",
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).",
        "label": "US Treasury Securities [Member]",
        "terseLabel": "Treasury Bills"
       }
      }
     },
     "localname": "USTreasurySecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsComponentsofCashCashEquivalentsandInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsEffectiveMaturityDatesofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsGrossUnrealizedLossesandFairValuesforAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/CashCashEquivalentsandInvestmentsSummaryofAvailableforSaleInvestmentsDetails",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Unbilled revenue"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities": {
     "auth_ref": [
      "r380"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from settlements with taxing authorities.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Settlements with Taxing Authorities",
        "terseLabel": "Unrecognized tax benefits, increase resulting from settlements with taxing authorities"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "auth_ref": [
      "r124"
     ],
     "calculation": {
      "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "terseLabel": "Effect of dilutive equity awards (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r119",
      "r124"
     ],
     "calculation": {
      "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (shares)",
        "totalLabel": "Weighted-average common and common-equivalent shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations",
      "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted-average common and common-equivalent shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r118",
      "r124"
     ],
     "calculation": {
      "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (shares)",
        "verboseLabel": "Basic weighted-average common shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsofOperations",
      "http://www.cognex.com/role/WeightedAverageSharesCalculationofWeightedAverageSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 14
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=SL108384541-122693"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(24))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(25))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26626-111562"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aaa)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27198-111563"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27198-111563"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27232-111563"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=SL120269820-111563"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27290-111563"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27290-111563"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27290-111563"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27337-111563"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27340-111563"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27357-111563"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27357-111563"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27357-111563"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922890-210455"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(i)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144439"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2420-110228"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23285-112656"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23309-112656"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "https://asc.fasb.org/topic&trid=2208762"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126970579&loc=d3e23163-113944"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126966630&loc=d3e41228-113958"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41641-113959"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=127000641&loc=SL5629052-113961"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "815",
   "URI": "https://asc.fasb.org/topic&trid=2229140"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=SL51823488-111719"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122625-111746"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=128311188&loc=d3e122739-111746"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(1)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(2)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(3)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(17))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62557-112803"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62557-112803"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62586-112803"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(a)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=SL120269850-112803"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e689-108580"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=SL120429264-123010"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=SL120429264-123010"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL34724391-108580"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611379-123010"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r608": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r609": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r610": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r611": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r612": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r613": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r614": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)"
  },
  "r615": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)"
  },
  "r616": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(3)"
  },
  "r617": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(i)"
  },
  "r618": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(ii)"
  },
  "r619": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(iii)"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580"
  },
  "r620": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868656-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(12))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>94
<FILENAME>0000851205-22-000019-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000851205-22-000019-xbrl.zip
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
M/A$KW\TNV-]7U,W%$#Y ""C<YB&;/DO=^!%N>0V?!/N/DX__!U!+ P04
M" #@@ )5YPP8PCT(   :+0  &@   &$W,S(P,C(M,3!Q>&5X:&EB:70S,3(N
M:'1M[5KK4]M($O]^?\6LJ<M"E5_R@X<A5!$@M53M;=BL[U+WZ6JD:5ES2!KM
MS,C&^]=?]XR,;6P3LT<"9),/#M*\^O'K7W=+.OGAXL/Y\-_7ERRQ6<JN__GN
MYZMS5FNT6I^ZYZW6Q?""_33\Q\^LUVP';*AY;J25*N=IJW7Y2XW5$FN+0:LU
MF4R:DVY3Z5%K^+%%6_5:J5(&FL**VND)W<%?X.+T;R<_-!KL0D5E!KEED09N
M0;#2R'S$/@DP-ZS1J&:=JV*JY2BQK-/N=-@GI6_DF/MQ*VT*I[-]3EK^^J3E
M#CD)E9B>G@@Y9E*\K<E><!0<=H)V%R#L'1YT\6H_;$/8/0CY(3\\_$^ 0K9P
MNE]C[#2%M[5,YHT$Z/Q!K],\Z!?V>"*%309!N_WWFIMZ>A*KW.)Y&M?[/_TV
M*YM9N+4-GLI1/G JU?S2V7"D4J4'.VWW[YA&&C'/9#H=_'BF)4]_K!LT?L.
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
MC#"BA(98U1N!(&"-@BX--.O>MU*RR[3?F9;?[KXVIZVA:9<$)J6B(01XA*G
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
M<HAJLQPV<%[Z-W\+2*UQ3G+EE8F,&@^."[).6AJ$YIRSY;" \]*_^=N_Y*<
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
M$D&"#MQ=5MO29024S+KBA4ZGXL4[ISFQ2!NI&3"KE41A$S%7A#D6U6^A?3,
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
M_)MF@B[@UYU-#$XKKW^$,=Z>6 U26Z\PSJQ$+F."<7A%:>8H%]PS;# 2XS)
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
MXU1DTF*?,1%\9@06&5'6:ZP4(4ZOO,2K@A5:M7^O+A[;W2]A,$SM;J90W5%
MXBI> <>W)S[.>#9ZW=YE#K3BIZGMY]U<3]R49P4:Q_N\OO'^,X]&!LY"YEQJ
M.!@\R;3R8&]TL,%0R2U)^^6M<E0MQ*T6XA:O'J-BCKDQQ_E-YE#,*@D.3.:(
M%AG3U&6*>)'ID+Q8ZKR0:<.\54FJKAQ%T^/BE5=4>CPO/6[<\@ DXTS'5('.
M%<T8\3$SEK&,P4L50'NYM2G[H&4)EZQ4S%$T#V#JQ1(5<\R-.6Y[ !I[IK %
MTE X8]Z)3 GB,J\<$F 3&.80.]!5\NL;YE;]-Z:[?&5X%/J3Y$;MV:0A:541
M,;^*B!R ZTPUYJZKOD$5,SV!F3;O9#5,P-2&5#?*;.H-)"$L >.24>.<EY1J
M$](Z7'5W@ZD")5VK^93BE#E4^CI=?;WE26"NC)$A9%)$G3'+5&:T\YG&)'K*
M#7$2@;Z20D^2_&[Z6N32ADI?IZJOMW,&QJ"@A1 91JE1C? ZTXKA3 CK!-+>
M<(177A)Z=UOH2E]+;%]G5Z]0Z>MT]?6V?540K@@)5I50ES&''9A6$S*%J70X
MM>+%X \3?7>.KT#Z^KL5(>3!N<W+="Y#]:$YN]P^I.HXL=B"A<N%67FW'+A6
MJSN"IS99N=7K3NJKQL<US5D8;)X-^P8>?*MK^N?;P] 9 -^E4?9[>2_A;1AO
M/PRJW:>GR(3;=S(#- :GJ"09MQAEC B;F8A(AB16G$5.B9<K+P5;9;B\!0_5
MJM+%<U812R4JSBH'9]WRWABRG 1/,^TQS1@F-E/.NPQ;B5,1*0[,K+S4=)73
MNPG-BD'*RB!%+-*H&*04#'([7X,0QDX@D46B=,9HB&G#E0CAH.:22LUU,*F9
M!EG%N&JF49'6<M6'5*15#M*ZY?;(\/_8>].FMI(D7/BO*+@3]^V.4+EK7]P3
M1- &N^EHA&VP/?#%4:L1%A)7$K;AU[]9![%8$C8821Q!Q4QCT').G:K,IYY<
M*I.3Z!3/'2,CXB*WT":,( '&O!&4:RU]KLI!FVQ*!:"E@I"GE7VR.1MG5GT]
M[77U5P&XC3SJ?\5N3.T"8#,$L*T)7Y-*RD=,\VD_(Q"WPH/=9CF"!638)4>(
ME2NKHBG(9%&AVG.N$IZK&W.:D\.H@,9\06.,]>24EQB-0@ <'%A/LL@Q:Y$U
M3"LPXD(P^4">:!H^V3&[Z/"2;_QS<MD4'9ZK#H^[6R27SH=<72M2<IZ#:@+E
MB/G F%-&,9;38T13+V-[VX(:==OYY^0S*:@Q7]08V_FMPF#>@:4@JJ[8BK#S
MBL=1*AP2"Y@I"JC!F^;^)VI+LLY,=;45;RH5,E__[L(??SK!^<_\GGK)^=S,
M'3D@::4H]#SP^,V$^T9+X<"&QBC0W.6&1XF<,Q)); 1)V&F3\,JJT$V#2Y>;
M><?,'AF.3E_"1XNC]?-M%1R='XZ.\5HLB*<>=C@#NQ[B(1_&]-$@Z5@2-#%C
M)<B=4DUAGEKZTB-#M<(.']C;5U!M;J@VD5(E V'" * YP1 W1"/K@D-&Z^2X
M-990GH^LRB:=TC.DT,,"I(4>UM<!6H!T?D Z[O9,*MG()>+,BES]G(&9'7,%
M4L,EE0I^S\V7N&IR/GF>>*E@[0=.T8N/7&B J.!MUO&16USCVM0P>/C0.W&=
M.#$W][E#&>4C'>6M??[ C&;M]'^ 'O!73O_&<>PWSC^;"[S#T.RG"(][= 3;
MENV&T:\H_K^3]A?8++H .0>V'Y_?F/>XD-30<ZIC:LEU_K*#MK]/.*L>1.Z^
M%O&T!ULVH_=U[.]D:9]M:(3>/<\?!K+>[IR CH[&,V)NN#"W6S W/Q$@<3F;
M5;&(&/>YG9PER+@DD-:.TLB >5NWLHJ?+:/]6[\DE^4#O_M:L?4#O[L;JC>
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
M8]'I#]<RT$>70/GS.>V6GF/R8A,D3KK]"$,\BZ'QR;:[4\RQ_,]_?EML8'X
M<P:_C;M0*C/RQ74K\MRC\N[R(?[N=?*<OH)'R6Z6[>Y.]"?]]K =!S!A WAK
M'?[L?GH-,]8+N_9;\;7<Q=>2_2POOCLD^R6\>L_#W_]T]FGGBSOLP?C>$!CW
M*7SV;.\(GOGPW>G>KH=G^N>@M;M!M]=;[>W=/;;_7N/6IX]46F6-%$CB%!%W
M5"$3.4'$.,]2]-(HN[(JI\3%?J^ZU-Y),F<00BV2^10DDVQ]_:A8LIPGA32V
M.4G%92^B#$A9[X51TOJD03(G$U1^!R:1ST'"?Y<I^;F"(RSKH%D)[3W =09Q
MN$6*</%RUU.^6^N?66OW'8SSS;>M]8V/P1++ 'V1%"$@;K%$%O9P))-700(,
M:PL6)6^J*1'"7P#B&017"A _-4']NKV[]5'38!U7%$47+<JI,\AX2Y!B-D7N
MO75) "I/B>M<PO+@XIC0C6=#'YR97^X6_3@XCCZ?>^^<CIVS'K> ;E'A_]=J
M^#] 8LI=L(1I!>#!8S"<<1*,E0!?L$U:SQ--P=;'W ![:SN5;7'6:#/>*XV+
M)$$2$*="P0\&#(XR@ZSP!,2"$2W(RBIM,CI9\7_BS,@299TL.1!,!\+':=U=
M 4'1];OI^D2%+F$Q!MI*6?*(*S"W-+!5)++; -8\&@*TE; IWH.BZ<N[Y4LI
MA+&&1ZO Y.4>GI'@)+0FUKL@0WV,X++ESP,&)LJ?PM('1QPR7,*63P1#ABF/
ME+$!(" P2W+GY]QS;+)27T&")=[SE\>14)!@+D@P1@BPD=98QE%(&I @XH1<
M/F@8F)+&BYA]!YG\P^?J 00E[^5A$HINF[IP#I2T<@'5,(WA;?0=.QBT$PRC
MPLI>JJ(+ET'=WW)4]_=&CNHV>B/_5TYV@,_9'Z9 Y-*.O08 6A_^:O2.8[^Z
MP>#&S(@?;4%3YK8F6U M_$^WVWGR)C.^WFOA\.1\P5[V>T=KVR\V7_;Z.["4
MV^EJ-RKFYB_M+EL3KB5%+)>)"<2(U< S;6Z!'0R2*06C8]#:FWR2ZAY;RP]0
M:%X<\[8I-LNIX+7P*Q4%KZF"C]%'P0S!DB=$B4Z(*Y*0)C8A+(4R(@H5=%A9
ME?=Q)Q4%K]O1YL5[DXJB+UK1QSU&AE-I*+.(.\P0#XPAEP)8C%XQ!G:BUMR"
MG;B$QZ$+OM2.0,S\*''!E=K@RAB!8"8DJVA$(2B.. 46H:-3B!H18.V%(\K4
MAT \[MI__L!V/\5&U3@BAL:P]Q./QR]Y-KYOW//SZI U ;7[NST6G^5_>60'
M%B^OW35W^R7&70#9ZUZ_ K_AL-]V)U65_MW>:YM]6<4!/SL G-+#6G&>J%4
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
MPQEN8L-FY(595%> )],1J4K-O4Z6_K\;:-(M^S6<S^9S!E,0>B>N$R]7YW[
M]L-B! NC3O]YP%DI3'*LY\M:-Q30GR?H3VDQ)9@EV@@ _2@1=QR,7>8-HHSA
MI+0S.,?K"-BZK(GU).C7G5?.7&L?V/7VQ$![N@P\6="N#3<OH+U0T!YCZI)$
MB9T,B%A)$&=!($T8_'":"X^)K%)#:1-CUI1R5EE>#X^A%97_8VCAIA=GS*Y5
MK;IV+1]!YOLC'5S]K^O_L?K]T;1;?.V>JDOPSW275O3](#:LSU%5VSV%^6ET
M>\/,X?OP<K?1AO%\ZE<I[_WS&.M!',2LTM7D5G'9U.[:KF]G#VFN+%3UOGIV
MX]..;L[I,R5@@,>]096M^;P?.S:?X?OS:SL,#RZ Y=H71\N.K[YB'0SB9'CS
M5^8TLS\%Q6IBQ=A9Q&L_\Q KW.',4*TT4=9+[B+7--(0/*98:FLY_DCURL67
M#B[[RAW;3T"2^M%^1C;!4SVWG:_V=+#RQW</?]3N7@R(YYF^ZR1-D]H'D]T)
M8Z&:XA?;KUH;_VN\V'[[>OOMVN[F=NO!E>RF@;9VMO_=7%_;W5AO[.S"/UL;
MK=V=QO;+QHNUG;\;+__=_K#SX&.?+L>_;79!ZWLG<(TP^/W&01[9_B>0N(R]
MXGO*=CGF"C>OU+G":AA[QQX/XO.+7_X,[<%QQYX^;W>KL51?^G-T]1$&Y!N,
M.SWR_<[?OI+T9_A<VD?.E]&=1V\_J]X:VWO.WY/RF=;TQK?Q,W+C>S^Z+.'/
M!&>_=-D?OR?8S3>]UV#%K2[[$P?7K]:#?&"+[O))S&V>Y%S(']Y_LM/^AH[@
M4P>#QD8WQ/#=4]URH6[12G )9N*?D\YI@S6K:@&W:-)XESZ*W_'0GS+-AYV<
MZ2)?30ZO)H?\BH@LOR[?Q5:HHWC_=M*U)Z$-!/SWNRS@DC9@?6$'!XW4Z7T=
M-%*_=]3H'<>^S8UU&]FB_%+Y 4HKUB5-\FW%(1B:.<?L/KE+M7 7SBC&4Q^'
MW[VC-,YJ[V2,3F/#K8Z.2 VO>&:<QYK+C^M5E(9@@FX7K@%IN4I(7 XWW_:+
M"S??/^V]PY?M_<K5UCJ"^W1:9^]XB[:J:[?6LWMM\UOKU?NC2S??T1O1.MR
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
M[,0 K.)+[)[\&J6H;12A#E'&GZ'0"[A?'LF']O#@Q<D YB+V+SHS+TD+YN4
MI$\3Y,(J'Q0V#,S8G&4>A$)&,(L2%PG['*+TN4!1$_:6$I L <D'=WP5**D/
ME(QQ&Q*Y3C9$!!R'Y<1-@IQ7"D69#- 9PVBN=<::FM^[FE%-T\_KR6\N#I:V
M2U3M ;C-M=DO\#,[^/D\Q4VBM(C1(T.L0MRZA+03%''!'=%*6*4=F%:X2>AD
M\:+B)JD7J:B9FZ0H\;R4>(Q#*$Z8B8XA$DP.B1.'3")5FF0T+G%#\J%7TQ1T
MLJ!''=TCCR"M:.G\.:_[\=BVPT5#KU$!I.%![#?\2;\/BOR$"CG6C V-UN8B
M*V'4RR=70<GK4PJUS1AA#R>/UQDOG9+!(:$](*S7&)FH#&(N!BJ-U8[EL@*B
MJ<1]:%+QO3Q!FE2T>^':/9Y$SIF2B1)D8TA@^N3NLXX89"B-DC/!$HU5JS_-
M)H^XU3&1_!'X7RZS5H[M:4E96>0QMIOCW:_/EZ* T>S :/*DFZ*$6*$5\B)0
MQ*4!6"+.HY!@Q3DFAO)4!;L%%?6PYHI'9DG"/$6/YZG'8Z2"6BUQS,41&0N(
M\^"1R<TJ8E2Y(KP0-H >$]G$8C)IY7&D/->66?1/XI6GHS@T'I19Y+7X]RK3
MO(#2[$!I:X)<$*6%X%2C( C-%><]<ODL/1,F\6 3\Y14X1X\Y2A]\6,4<G$W
M52[:>C=M':,04D0:A+%(6B81)XXCFPA'2AL)J,N\T+FH%[YWL>7BF?@%_E .
M7M>*0U2G-"\MFX(\=T">-Y,\00?KB1.()$,0IY@APV.$WZ)@!IODA%M99:KD
MA-1':VL1[+B?UA;J/T.5'B,3W#!BF0U(,99R&3^/C(\$)9=U74M'LTJ+IBAG
M:!:EFQ<AOXLS-%7.A1_E7X-B56UCGX1_HE[Y%A?K\O9\60HNS0Z7)NNY<,NB
M(C8!+@6'N' 8:94\"GE-(TV2Y0Q43IJ"3<8[RF&:X@BIFR.DH,<\T6/\:#"&
M+0!^H*B!RW C>3[F'Y 0-"G%#/S,K$8T82<H7I(%ZF25O/04W"(U]8I4\[]]
M4=;GA3UN#VVG%8<%CF8'1WN3?A-A+"%1(.X$ SC*>:+8462LY('K:(.IVC!(
ML7Q<IOAK'A^7*7!2+S@9KYD'FT4B4B 7<ZU+8BVR2E/DF!&$<D6<EU6= 3)Y
ML.=QI) 04SMF U+?J/IM'O=[7]HAAH8[O5Y #Z;_2Q7_O(_CQO7Z(?81/-KS
M/!6#7J<=&A</5#\LJP,U^A["8)5R,[W7HS7ZZ_3=(-?SO(2PM<ME*A V.PB;
M4H<-@$I&'!&SSB,>@T36$(<23HXI$YQ/>&75L*:DD^5ZZTZ)[JJL2^3[63(
MJ@.9*@!4"P :CWMY+:S1"E''%>(X>.2P)T@)(8TW-+I<8(48WE13$NIK"@@S
M\A_5C%EE?6FD3N_KH)'ZO:-1$ZOO2=6O52*^K2'YD-=XY+3Y]4G?']A\LOSI
MM2=[T//DK^UI-=&[O37__T[:_5@Z)\YEZYDLKA.C- %6$!&?ZY8JE;<>2I (
M-FGEC<42N*]2325K<JZT!!GKDDA5=/B!='B,/CJIB9-<(F'R,2Y'%+)!6:2"
M(5@'JC2S*ZN"$#!@[W,>LZ;!Q1H2B2T[/.E77+#*E\H=3V?"*6H;**B?<PV,
M6A#7,'@)+#WW-!PMR>E:-[SH=3JQ&M%@K--A0:D9H=39V@338%1':0E'20F?
M*X 98!HAH628LE1S+V4V<B5O2C))->KN9BN1Q\?N+"N \M" ,AYY9%YB32PR
M59ES(CTR48,E [)C?1#1V%R%0N&F-/<^?E9BC[_D1#GNYZCC\+39..[8[K!9
MT:$(YL%Q5I#B5UFT7^7U:#U>Y]4 Y-JX6(H"5;.#JLG:?(3@Z*,QB-$$W$?8
MB(P6%FFGHS"!:XX-<!_2I&*RMV#QLM2+A-3+RU(T>C$:/1ZRTY@KK@AR5 4@
M'_GT:30".>-(8HH&I>C*JFP*41.WZ6.K9UP&/.\!+[L3;FH2W&\G@ZHNPN]3
M([?W<<HM639*_3QV-V2C;%ZL4\E&F<?6-J5[/06>$@E'@5*PJT522).8D$K
M4TW25F*WLJI$4QBUK'ZZVJ3#S=")MV0 5 MR?</A@@)%#P1%XP4J.<F1 8,L
MDQ1QE@*R5AHDE8!%MUH:@E=6*5=-KB93<^]<$J)^.7'3#8":$:WQG+C4[MJN
MGT5.W&V]"P]YC2? HH]'H8]1RN-@< +K&[-_U_>.CGIY(#W_&: :M&?T>W;W
MEACW F/<FZ-5V4X[![8?!^_R8FS""UU0P=RJH7KY+PL;V8O>42XK:_-XL]MH
M !_KG.39WLEKMWU<1;+*SC:[G6WRS E7*F)&!=*&1L1QM,CDTR>6>J]-E,QY
MOK+*FYPL7WO>$@M_2K'P CSU!I[Q@JT\A2 U 9N>)L1)L,AJ#+R:"6,I%9*H
M##R /'C2NB]!\SDI\]MX/ J;C[.J$B-?4(S\9:]_M0K;Z46U!A4N%4":'2!]
MFF!"FBFE=8K(:VT1#THB(SF&U2,1<TT<IW1EE0C>9&02D4IPO%ZLI!;!\:+*
M"U+E\8P\%8(QD2)'\V$B5T4.6$2:"D/SGR[PJG6#5C71Y$?NO!DI1.84H9U=
MV=WP))PRM2 4VVG]8LX+ LT%@2:/,\K$*'6*H41LKK4(=HZ53B(=:<(>2(03
M A"(-H6Z3Z)=\7 \&2Y1M'@!6CS>[%8R(;$'M55&@A9[CVP@#,DH";5$P_+E
M9K>D24Q-NCL\_MROY?*G_"3W:UJ$\LF70JM'\YP;4B]>7JQ82;V8/0:WUB>/
M+%#J 6Y%1!@[C#B6$9E /3)&6FXC R0&)D44;7(U>;KJSL9<;1*R2GVR^H29
M"A8\$!:,'W8 A;<R<,2H9(@K%I#U8&1):N$M37RB-I>,9NS>;8*7K#I9=6_U
M3-6ON/U&2M%7GA_0#'BCVXC?_('M?HJ-OAW&QOGO@P:H=$64JKX^^9=\.O,+
MJ,L3J5%1#]9SOEK;:6.T1F]AB;:[&?SR?QM72_(V#H;]MA_&D-]8ZX;O7[CV
MR0*)LX/$S<EJ%I'B1)5 7B:+>$H*61,<8C8PZ7 R+/C<JDS+^U3<*7ZF1^AG
M*A"PI! P7G9+6!PYM8@Y9Q#G02/-:4+>>P?B'[%F*5>^EU/:^M31274GGT\M
M.4_E]3GG..U9TYKEM.GJS'GN!6VOX<%[8;()R"B?\#J(G@-KP<+98>'69-Q-
M4(DMCRA&*A /Q"*=-$,A22PU3@KGR+]I$C*# H3%5_3@N%)G(E5P98EQ9?P
M()7,*461XQ(XEA0$<"5Z% 4Q/CDO@I9@9M$F9LO@A'[T7J<7-W&NAATV7/S4
M[G9SU"U7!JL4[2EXF.X BL1PL"B4MRPPCFT"+.0Z.:8%CSHF]7$S8R&AC/S8
M<5ZLQIH@VIO)9D-8AYC;OS+8]Q G7".3$<UCR:U)(3F<RZ!JV21RLF-:.?I5
M'%9W0A3A!2$&)TYTX))R2SS(G?$6GE<JP2M$P051E@E1QK.E@F,Q HX$)SWB
MFCODJ&/(!<X\%T"<>,YYE*:)IR0]/HXC7<M'AB*\?B,-NB51/9_/YPPF(?1.
M7"=>DM7[F9/3YF[QO.D_#S@KRTTC <]Q,B9$1@FG.!JAF$_:A4BPI/X<]&^1
MR5Y OR:@/UFD2U&J&-8,:9DBXHX19!@02HL99<P'S)C+Z5FJB?FD95QW&CES
MA7Y@3^ 3P_/I,O!D\?S>)-YH91,64MFH@--Y*SW#E$?"H]/$N'.WP,_SZ0J>
MUP?/QU/L;(R:48H43@1Q@3&0>"\1)D1Y#=NXY#(?>0 \9_>NRU ;>*U,@#^&
M%FX*_X;VE]7_PH^+@5^[5JXF$OLC]5S]K^O_<;F'E:^5K\WP:_?$?H)_!OXT
M@__N06Q8[WM'<,?3[!'O]H:Y65@?7NXVVC">3WW;:1S;?I7".3R(@YCWA$H%
M+8#SQ1$6^-!@""]49]6>W?BT!Q>#>9;-Y./>H)UQXWD_=FRNTO/GUW88'EQL
M3->^-\(&?/45ZV ,)\.;OS*GB?WIIEK-J_Q^!J[_S$.LMB;.#-5*$V6]Y"YR
M32,-P6.*I;:6XX^,K%Q\Z:!_,>QC^RDBUX_V,[()GNJY[7RUIX.5/[Y[^*-V
M]V) G)[[).XZ3]/D]L&D=\(4K6;YQ?:KUL;_&B^VW[[>?KNVN[G=>G UNVF@
MK9WM?S?7UW8WUAL[N_#/UD9K=Z>Q_;*Q\_?:VXV_M_]=WWB[\W__#^RPZL_&
MQIMWF[M[#_XLTT7[M\TNX$#O!*X1!I>AS6KOO-+6:K^&<73L\2 ^O_CESXL3
M@.UN==WJ2W\>V?XG$->1BF=1'7>7Y><]?WLDQ<8\H])D01[Y[48W'LGXLTK&
MQ^C'^7M4/S.<W_@V?D9N?.]'EU7/M&:_=-4?OR>8G/E8]3.B]-*,54FU-&/E
MBB[)6 E[QO7-;]=LL/29-K>[[,B7/T8W&*Z\(-.=*'>L:;QX WVZ477Y).8V
M3W*^3SR\\_B\=$%CYX<5Y2;7YD?%DON]K^.!U268B#488>:QME/1K->V'5"[
MVWAAC]M#>.TI3\W;.+3P8FALV'[.TKDY3_HIS,::]R=')YUL:U62L@TV6+_Z
M+5<Q[<>#V!V Y52]\F]O\+0G:[<W'"E45>SUH-<!'CH8T>KJ]>Q(')Y^-TG3
M]PPB'O&><2V$< ?76AU7_+S6[ZP>]#9%^9=\PE[;_KEPO+>=DS@CM%C\1Q?4
MP6+QFON7[51-#6S5MW;MN-_N-%BSD0/E3^B\T!U#58,*!<:B58QZ(WR0Q.+
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
MUH*C; T0YA0M"L":$8\T(6/R&91&!>%3C#X[RFS5R(8L0A84:(JO7%#@T:+
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
M%*S'5FT\<A6^PI^6QI].%OQ1Z4%T6BN4L*#@CQJ/K*<.)6$"=L%X3=3*NE)
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
MG]+E>8= "<5$L@'I&(%*2!&1B3XB)JT3DG$2LG-/5HV219-_-4TVF@2>2/1
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
MA+ &U\3@Y P79:-I<V(WC3U"ITZ:RCDC\YDD/Q/%^;GP_Q/G5XM9A270<T?
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
M_01<YT:7&BXT.L/A20P-=]88'<3&I_6/ZXTO.?6_EQGK)5QYI;W5[>X$\W@
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
MAQ&+EN%@,#6<K6U0WH1#]\_<*M!:H/7I06L-D+6XRQ\$/,^FP9-ZJX-%@I$
MX!D(TD0K)(SQ-A')N?%K&Y*0)KYFPZ"B#]_>N__O429V^!TZWS8N9K)U<@3S
MX#?^ U]>O,61'7SI]*JQR*O(>7@R''72V4,%TN@E9)@,]"H4.*N]DS$ZC0VW
M.CHB-7SCF7$>:R[WMRHH()B@GYAP%04^^H,83KIQ)UW5G79Z[WK?XG!T%'NC
M83O/7!L>^T>W[[^N)J=WX_]\.-O['(X=Y7+G\X>#%GT-S]O$K;<?.JVMS=/=
MSV_R=_#<]]_WMD)G9VOO</=\+P$"T-;FOJWVC! >F6A]-ED#LDDRI!CF(N>M
M)T7&2-WIG<2PF?&2>RK@3)&$"CP2;@&UH\.*2X$E,VFM$0$^CV$Y1H.3N+;1
M/H@ MMUN_Q0HOE'1:V-X<@0$"<LR;(S@\*O^$9#>6971HEX.&U^RV@OBXF+M
M&EWX&\ZUO=!(MC-H?+/=$_@;,+QA+Q ?P5]H"+C=Z/Q<9/@,5TW?JG'<'W8J
MD62'C7YJ_'G2/1MC &LV,E$U_@G7C0[Z)T#D8?BO%S.<=0$5%=O=R&9C0I],
MGZT>6%'9;Z<0\&<\3Q,(&@,)\&37'@_CBXL/+R^"4YU>Q6/512\G8YC@DCB>
MS=/-S#\^_/*T$T8'+XQ9I])DQIQ$M28/'A\EZQ7/3N'B^!C#ZXJ0&P_C]9N/
M_>JV9EV*N]WUU\<$DV6L9:S/?JS\5G?]39Q[SLU'%FF!Z'OH=3]3D\AM7L6#
M'(F#9;Z,N94U]5.5:61=IO'?"QD&ILYM-E?Y;::6J</"3L_%K1?VB=/JK1:G
M+J3Z5QQFQ0Z>1FAC&TX_N+DX9]$$6I<Y^/'F#5!2WP+KPJB>W22T^R/;?4YL
M>LE[>I/Q?XW]7\>E>P-VUOAE_\[&UJ+>^#:[3:WXS/T4U/]Q@W]O_%79KHM@
M_:<S186X"G$5XJK=S/V>N)[H/I6_V=+OW@4L#QZ=O/XU;Q^=O.[%5KPB)TDA
MK*.$RV2X,4PG(ICR7AMGD@BWWOAD*EEC*N#X:NSL[9],I6U<6.O9-&J#943H
MV#IX!H'(HUVQM_6)[-+WHK7EQ4[[ XSO[X/MSQ\.]O*XM]Y_;QU].(+QX^E
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
M04>E8& ['7/O6F6-!1M%*+_6B"#VCS/U#D[BVDTQ#UF/F$?JYZ!0%?JITNH
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
M3J\S/(BA\:7??W*]V^NGJ5Q,]]L\VP5RE@,YL]NW<FVIHBP@8;+MI+%'COB
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
MBH8QY$PPB 7+B1>4,%7I<9BRFMB*=<6<8C;<FO3:FZ=@-SJM$Q8>K$7G@/2
M[)!S"<Q(B36SFAI*284[Y'HW1=UPIQ# ' 3P?1ML2*XLM@)F6_B(N'4>::P(
M2CI1+9/4-ND*>VZGCSU!&[(^6%<DZQS4_4Z 9%6$!; ="2(N5_,YQY"URB)E
MM:32>2YS.3#3-<6VLN!S+/AV3D+3."JI""C.)'A0I7!$CN&$2,P9WI&EJ W8
MEM<O^"]MRU\VPYT8>YRNJ]P;\;@_[.1S7@QB#JY^BS];(OZ?JTD4D\PU_/,2
MZX;][LGHYDMF6L8]4'.XRI E;&I6+OT\&%P,X=A^@7D?1/L5V;RQP@O;/;5G
MP[5_7S71P3Z?W%S3=0W/G_>5;VHWO-R9NF5JUJN=MZW7_Z_Q:N?#?W<^;+;?
M[;1NSL!XW)'F)+*/C?8.C+7U<>>O=UN;[==;C3?O6INM5^\V_VI\;,,7VZ];
M[8^-?WYJ;7[:>@?'_W4=(5R;AO3;M**I-*3 G#(.U-)D)3?1N]P+W)@84G2"
M8[;T[KK7);K]=:%)3/8,.:M5H]U'R7X[W7>$4F^,0!(4G.S) ZZ/A"-*/!46
M-,HDPBU[[2XO<?)Z('MSDG-1?V,@Y]PM.YRTWAW>I?$NX=<U^7SP7KS&K&O!
M[M**%Y!9\L7WS 5!><=.O+_LF4O7*>6+Z)D[9XN$AVYJ.QX/Z'_]<>[ABQ,P
M6@;YK+6-O&51XW5EQ%RT<IT$PTCS%NUOY^AR6ZMFMM<7!&X>Y92\QOU:V*Y&
MAZ\/\<CFY+M!-JI3)]L$2VMY?,NZC.=9O/7T:[,653O[2T7KPI7W@ZYWTIN*
MJC/ K48EUQW5LDDEUR>RT][[NGV^3:M_[???=]YNB^WVGT<[U<XZ?W;@6])J
M?Z'3E5RM]B?1.H)GG._F?]];6Z\YJ'7?MX]V>>LSJ'-'[^ (W']K+[=U/)NJ
MY!*:64R#0P)CD9NH>:2)CL@$XAU57)!<!\.;@LG%UG'5J*OC:K1* C9C=\+W
MTBRE/@"W=1);\.1VY0??KMS@!=X6!F^=&7C3#A918XRL)PQQF7+UEG#(.\&-
MQ]K$'&[-+L)%-:VM0P.5^B(87^JF',^T,^5#(UA6RMJG_0)<"P.NLUG@DMQI
M:26R,D>SL#3(T101HY9KXP@S.K=^:A(RV]RV=*E</'")HGH]$>#*20$%NA8%
M7:U7,]!EE:71VH@$=PYQZSU8DX8B3[#0+BE*'5_;8$V.9_=>*3K7XJ%+%IWK
M:4#7F_Y)<88M#KEFG6%6)Z8"T0B;:C-JXI!6(:*HE8U8,I4\SAF2BI&B=#T
M<JFB=#T1Y.I\*SK7XI!KUL]%O34R*H94##9O9:"0R[T'+*,Q 1$G$T-&+BF+
MGVOIS%CU0ZF2X8KFM?KXM9D7LH#8PD%LUN<EO*>2!8:D- EQ%C"R2E*$&5,T
M<9T(]KFK9!,S\83TKSOM,;V8/3>?3$O>Q>YSO/HM>6O3,OVV*%N =5' NC/K
MD1.,.J,918H&#7:M5<A0(E',=4K.1[!Z2=5J@>N5WPYY%?L#3R4./U;7@MQ
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
M%0G(82P0TYKEV926BK5-2=;5_4-4*E"M0+4"U<<%U2K$;\$ .NM:P)S#_S4
MJ$[ 2KD' +66YJHH@3$: 4)Q=@JN:[VH;<*G!]#2+_&OH86'PG]#Z_OFM&OU
M40?$QD^E8/+VYV7OK/9.QN@T-MSJZ(C4\(EGQGF0 /EUNRS#3#!!%_68?U[Q
M'_UA#*-V[*5?K/TWH^&H'R]SB9T?Q[$[B,W<\":TYZ]VSW];S87?CO_Y<+K_
M)1P[RF6MLX/K1^]Y(U\#SZR__716[^RP_<YG:.\!JW]Y3^IGGT[WCCZGVM$N
M_JJH"5@(AX@($?'D--*P8A&UC$EE/)&*KA41L.$81GW8'T68>ICGZ=KLV/Y!
MJUNNL)D=XJ/18-A*IX\%N43DNIWGAQ6-!6IR8M$Z=& (()?+0Z1R+13VTF(H
MXG@UC//#<@F)7M$Z7T*%+==0<6('V4^5>NUV[V10_-'J%L/#W@B:&P9_OCH7
MW5(&KAV@7%8YK[EST1X+*(Q*VQX/XJOI'_\.K<%QVYZ^:G7+7I87_7MRKXF\
MY_&>]=_EX1]__>^35A@>OC)F0PN6M='$>SAY\/A;LE$JJAF\&7^GR8:D[-JO
M\0:YXW>"T3M=^:O&$K'!N;C1;9>TR/&O5K^Y0='5<7M F??ZY:)^!3V(_?RK
MM<V]:/O%#KP/YS[6B7R0]1==SO8F [N6J_^.NL.'J%R[;/[X#[%C6WG=9!A-
MK<P(KSSRK:J25E5)NZ?)HZ3RP)0E$=CS:(*FGG%EI<%>1N?C(DXYFB=\YPN\
M 7PQ+^\,C2_!+H+OP';9._J[5:/UHWUH:[T96G4*MLN7&MY_6V\WMO?;C2_U
MPUF[J-[Y#/W8;\']SO9HO5/?KI$ZW67[8$/MG4$[Z2=>[WP2>Q3LHH_X=/;,
M8><L<90AF;Q#W$J);/(,1>:B))$$'1B81>N2W+LHPHI54ULV\ =Y8P_*!EYH
MC/?3(%T=GM\\B>WOL0:-.7P16Y*/!'*M.9!SGBH+S!H%ZP/BVCADK/?(&.4
MV$@4V7E.UX59IM)-SY3$@C3QAR"L+SWT[6EP+!.TYDFO@J^%P=?I''S1 /\H
ME1#UU".N<@"Z]@)YJ4BPEFC%<T')=:R7*:+U^=(P4=&P9P5?A_T8*P!;%(#5
M7\\!F!8ZQ, IHE8(Q*E4R#"<D&-&V&@U9DEG(U.)92J(^WSYEZSXUW,"L#>]
M4>4D6QQ^S3O)?# I8HX1$8(C3H)"%FN'L :L82X&G$C&+R[N70.@(F WP"]5
M$;!GA5_PVPJB;@-1\RXN#ACE%*-(FD#!1HPT)RG#7\D[FX(CQH4<=+],I87N
M2[ >X@CG&^Y>W"&F:PDW1:_>3[_KINB]Q^1I ?3JP5@N 'TA4:*/A*+SGC:3
M2,1$:825U(BS8) Q@B M251.X:C5N#PSS3;4#)!.Q>;QM/N]-F#O*ZX/&).:
MWV?1:G5'=CRT.6*O7-"<&:J5)LIZR5WDFD8:@L<42VTMQU\E7_MUF)\L\?Y1
M$(26-2P;S9W"O"H>.-+V7;\71G[XQ?;[MCL\W6X-?+LW&/67)GZV_GH""1T0
MZNUOHO[E_8_]HQK-8ED_"BV A0X(>Z?6^?MH_^VGT_K9UH_9^-G\C$;S&]G?
M?M.!WQ_5W[ZG(-YG]4X6]KW3O4[]VWYSE]6VRR,@?C3>?P7[#',I)=+!"A#I
M?.J#SE$.+$>#BT0YC6,@A]46PU8&5N/A'X!RD@CE(5)+$PW>&RY<\L+KV8C;
MZ: 7#0<+?GR&P?RBOAR!.K/ QS/SV\?^8DD_86AON<J;A['(A[S9[FG1SU&.
M85 ,X;.+R%[?&PS+N+51.[7:<(>#XGB\9HN3\?BUXJ"PP_(RN"CF'P] FQ7.
M#N#ZT3&,TV%K,.SU,[:4]QOD6.#)#0O?MJW.8./R)!0=>UJ FNT5+DZ:!7<:
MC-P@_N\H=H?Y\KG'G1S&;@0(*P;'H%43R"J\Z\*S>OW"'X(^AF:VNH5O]?VH
M,QCF#'GX +H.:N!2I_YW!+,!:\+!8^'NW[J]DQR2#!T\Z8W:H>CVAL6A_0[=
MBQ&^L-_@M=6%!EGO<T!C,1KDVUWJ<;!#NU%\.6SE1L+0=@_L0<Q-@:D'6PH(
MP]S#X?U!WW9@7+LAOX&F#N)@'2[R[5&&\B*W^GMLGQ:='M .>%+^#'X<O]MV
M7ISP-H_0](8P2+T1C -,=:^;1W P.CYNMV)__(CA8:L?T+'MPT_S L^Z$2:A
M.TKP!X!1'YX]O%@J924']>_!= 7 _<\GKVC!+5.*/B\>=WK>M61;[1PBWH=5
M!7?+BRLO7Q@N&(WULA6PAK^W? 26U8:^]4\G:P4Z/>KWX6YY]GKPUWC"[.RM
M-XJM;F$#7#F(DQG/E^2E#=V'YL/'N3^]_GB!]>-@U!X69<1Y++HQA['#6LFZ
M,G<$VG;>/7C2]]8@+TV8R/D^0X_[<3(YXW;F$:+XWUO> ]*$:2C\H/R8_+OH
M=2?#V2VU="EHTZH-'P\C4,:-.>!YA'2/1II11_^TK&OE!;14*1U/H)).:R=?
M?60\ZB"0](D@'@1H(X*!:NI E'$LN!ANF-3Q<&3F>IB_A(%Y[5TENB>Q'U<P
M&P-8]08>FWVW3L? &TK=+>7BEXD3:@-3LTR)$RM>@V;YG# +RM9=(D_*TN3;
MSBBA4HEF)\DJ>%#NJ)LF'I3Z4:ULSRZIG[V!9WWHU,_^:M6V=^#9!QS:UZZ=
M>9$],+,>E!JMG=;?0IN./K':%^C76^CUV]T3N.Y'8_OPVWY.63QKPQ,.4^WU
M.,?VD@>%4"E9/D0#2Z\0MP[,K5P[4Z24 K>*.*;6-L4ZI]56_X.+W+MSMED2
MTDMF5FLPR'0RC/I3@G\,C^B%JE+O CCQ[2'IR_G,[)834T'4PB#JXQQ$Q<1L
M\%8@&U1 G+!8UO-%T47.';5>$)%W\ZFX=WFJ:C?_=[+X9NR\R>?Z9'YWA3'Q
M,H[[^6/Y0.F=/2V/6ZK :&%@U)H#(RIUT$S8?'2@1=P (FF<.)(.4\]PH@*T
M00XMDO-'!_ZYA%1I:HI#.^.OM^:O^N4SY6$_V["Y_D4Q*7WQ5%OM2V'Y5N$'
MBPP_P(3B9$R(C!).<31",9^T"Y%@23V_:?A!930_K!*HSQO-VD>AK!)($*\1
M]\$BBUE"Q&B@JBXXXWDVFBF=5P)5U,'#1AU,^C49 4['1^T<]P;EWLZK\9GU
MW^.%!_F_?W;63SJ,+RZQ#OHV&EY_R5R-E8>IIG*UAY^(G[WSEU]O$86ASJ,P
M#OO3=A_; S"U^M%^0S9!MU[9]HD]':S]Z^<]@%9WVB)--S0T^K;CM/E_7?]?
MF]=N,CS0\-XP'.1UXVU]YW^*UXT/[QH?MIJ[C7JQI"W-@2L?BV8#VEK_V/AG
M=WNKN;-=O-FM;]5?[V[]4WQLP@>UG7KS8_''I_K6I^U=^/[/JU;/$@7B$/SK
M2!Q, Z&*T\BEX<XD0RQ)#%-A;718B(EMQ3&_=A/T=:_3:0U+TVFK&UZ7B'(0
MN[X5!TL8E7,Z#=3[Q/9S6<;MVNE>\Z^C6O-#N]X\*-_O-^N=QI<:JS=W<;[G
M[!9HO1F^[3>_P7/_/JR]K?VHO_U$<L ?O&^#[@6-Z4GMZ'UN?]X"9;6#KU%B
M81V8/32DG)&/ [*,,$0%948KJ@63LU$Y)$6LE$U6*,IIX@9CXZWBVD8EN..S
M6Z:7YJ&,"OAI)NX0GO/;YR]Q>,ZUE?<N!6,4AS84O=$PA[24H2''H[X_M(-8
ME)HYQ]H,;1FW\U]/04LGC;F8U7&Q(&A/#5X[H\ZX#MCX^^%-?:CX!<K?UQ@)
M=2H9!$N7(&XD\$V-)9+1>^4=3RPG"TBU+HA<A^4X1SISW%2.)AJ5T2HY.JK7
M/RU2O]<IOMM^JS<:%/!AZ.5PGS JHV=R3%"^[!!69>Q?NFJZRLJ @GX<'/=R
MK4?XY4&[YVQ['&!TFJ,.RK"=[F#8A[^&@XWB-1"^_.%Y4,[L@LW!.2X6/AO?
M[7$4T:7UOIX#P8ZB+YLU_DU[+.['L6O;V1N_431_OK&_A"GC<I0P#K"@^B"H
M^38Y/J<,6,J19(.+D* ?\)"RVDL.LQH>CF]\+GCCJ\8!<^WX/;;'85:_DL0<
M) 1,*D<B]?KEA?W+Q>'R!Z>YK*"%1@SAN^-V[+8&AV6;QB.?MX%"A-'LG8Y#
MC?(UJ04S"B/P]Z@;"S4&B1R3UX+6C3MZ35Q7\4<_)O@/M*S>@U$AZL^-FX1Y
M+ ,V%@-X= [T WNW.,XI2KWIHII.T?\9_#0?\ZMW.C/V.J"%+V !M/-_+P6&
M'<,<CH:',!MG98CDQ>JZ)&%YQ0_C04E5)F%W@TE0Y'G\U[25YPO0PTCV0+<5
M^0S.;E@O(\N.V];#=R>MX>',=;^>W.D:N_A]KKK:<5FH)L%S,TL:QJ2\XE)0
M4.[1=+3R3P!0T%CLRB"?K*+S1_T(S^R6'UWJ;ADX>1$N.;W11*9;@VL:?F5/
MSX>\;-=Z&? Y09!+3RP?EH,TRP=FX &J,!Z[B;",MTQA@!.LJ7,1 IK>&<PO
M'WO0C['<YIBTZ;HVSXC-?6+A%5[&6'A"'CP8?AON^KVTRW>SOAA-R?A_8H"N
M'VSEF-?6<!D).:M-75A'G^%>6V>U[4]DO]GN[)V]%[4ON[SQ=O=D?[N&][?A
M7D?O:6W[0WN.$'RIG=2V:R?UYN=VX\O^47W[VX^]HP.^=_37MUIVA=$WK?KV
MWDG][>=<*_U'_>2KMM2+F!(*/.]#8!Z!' 2").8B:<,B#FF6D ?+&1?$1><3
MYQ&;P$BTSG%C/ :V/$O(+V:EN#0M=V#BOW_P3$.=X3(2HPSE8-IIXZF-3(JH
M(F,NT65F[LTKHJ4!CN$G $HYG+GK3XM^:_ M@X@]&$/,1&.<YAAJ0':P>(YM
M&Q@*Z'NX;EQ"&S1-1N8XAC+0V3!BH)$ RP"3\U_CD/:,9#,1GSDRO R7AZ=T
M!V-*.#:QW'BC(Q.+;J\#=QJ.<7&FP9EZC(.FLS(M:>.E1\SU+OZ8!&&7(=\S
MU"F[10;CP/D(LPY/]<4AB#G<:S1LM5MGY2-F;PD?G-A^.$?@P1B5P5P8]4M@
M&"N<T"LU #0@!W7;8]!U/\IT!AC+7T&8B($&:;074@!*&\MME)(29UR.::,W
M@+":_9&-F@LC9]RTTT9Z,^[,ZTE?+J1J0'ZR>6#%^5=AU#_)R1BQ^_)P[;1V
M\!4SHR+8-2B$G-&7! =3QSD4-0 &MS0Z)M8VA[D$T(2:S^)1*2NE:(T36GX<
ME_JBS#QI _$932+W?[]R@8*U!N,4D:G)4*[]R67HLM#THX\PK2Y;$67NACTM
MWXQ7_P&LB?'GH+RRZ=2;$IAPL1HFN00@V&$L\2X+;1K$X=00FI'K9%O]2\)]
M>%Y;OWS0)((_RX:+969*EK(P-9%FA2\_/,O.&'+*/@$E/!PK8'CB.?Z7Y+*\
M:)KY4H:D 4LKF?!&\1@)#/Z@^^-5XX+AOQGCP^LI/"Q3VL(3B%)-U+:^&NN=
M4E8@+)0'BN B,H0SY,'.B5PR+)V_>=K"$NG5TO%5"D"9KI"7WV5C;UY7//]T
M!BXW"'V <R#H!L7\00ZMN/ZA=VXL?,E6IK$K-;)X0W&YB*R6WY8",7,_?9*3
M+&X8[O&KT*#GU/NK PM^G=QSPY6PO(%-4\)^D^)5/P5+S)?)OTT-_:5<Z/7>
MV %:[M1_SI3SYJ/RZU[?I"C0<Q_=3Q^WRX'=^=\1& /M.',ZSAW!Y)83L1P#
M=#72+,/R6]W1^\WRNA*HR2V#]9\FBK>\SZM6WN;V-U)8%\8V+*EB^R=;=^)L
MONSK?'639?:0QWDM; TO5R.?:=SXSJC?>]D9>3%7MOW)R6.2U<*%F$)*G#JB
MJ><T)6*Y\5@2?--XD@O9+4NK337".(AD):*=[^H'NCB*]ZC&Z_G>=(?6FN]%
M?7N'0UM^U+;;G?WM_?8>?=/9/]K_=L51O+1V=H"A'V=[S;T?]1QKTCP\A.M/
M&E_VO]4[GX_VONQWZIT/:7J.^>736*)QTGB.9,AGFA+'D+$&(Q-%"%HYHYU?
MVU3BRLB3ITO >Z0"D\N7IK&@H_.6*-?BWFG!%0BM&@B=S8 0D\X90Q+RC";$
MF:1(,RM1,M9Z+ *C+ $(Z75&S?,#H9=.(E)P(1"%M6"4!\%!G@E6"2:>Q!BI
MO6F!D4I^'TM^R2R)"(9Q@2E2(GK$O8[(&4\03\ >) @M=G1M4U8DHB(1RP%"
M\R2B J%5 R$V T*).NVHX8@0 Y8,E@PYZ1/21@G&C&/4RUQT?UUQO40@]$Q+
MB;P^A(\&L?@0NYU6U[5>1-V0:_'&=T]G\,92IA@V.GH?..;4$):P4"Y8;Y)0
MK#):E@IOKL@3!WL3IE X1'+P#=="(R? <A%2$&:)3=+ERD6:K8O[LYX%U@RI
M3NA9"&&H!'C5!'C6ZT"MUHY;B13!8+4(EL^7,"#/-E#BF%<PCVN;5*TSM4SE
M$2OY78P"!E$E J25PR(@5E@+C(YP%N!_SAA<$?YED]]9KT/D,0<6,V2"\^/J
MIMJ)@*3!U$>B<6)X;5-PD-]E.DF^DM_%Z-]*?E=,?F<-]IP<IKS'B!E&0/^"
M$&L-!KO)OAB/%8@W6=O42T:?GVET0RW^R"G7Q;LX>.%1#IT?W=D*Z))S@Y6T
M4@IN$]6,">N!/GKK)&B9BNHO%]3,5QGV5,FDO$4T28:X4AS!9'K@^U11SZ-5
M.@+5I_AY[E"\+ &^X@B#2H!73(!G;77-DF/,Y4._?42<)X:<H00Q3Z0B7&DI
M4GD6I&95A,"*R^^\ C:.IA0#5S(D+I1QSGNF+161!!V<J;C^LLGOK*V.8S!!
MQ8 HR"[B46NDC6=(!45%KA>!I0/YY94"?@8"?$6(7B7 *R; L\9Z#@:.!HQU
M(X1!' >,M&<&.>4(HTD$(L%8E^N:TR42WV>ZN?ZWA4?EW?6]V'W9&^M'Q[-^
M?24H#P IH%(8I]2:J"*-SH&-IT+$MN+ZRP4U\RD)%HQUG0B8Z$0(Q!V)R.GD
M4#+*4TQB-)KG:,*%<(7*L;]L7*$2X%43X%EC7>' L0NP6+T#KI!%V1FOD'>!
M*FP$X82N;?)UI>]MJU?BNVSZ5QJ>L"'!1\^X)M39@+G&7'+.))B %=5?-O&=
MM=5YC,0EB1%63B(N0BX'KRAB.H(R%HXY84#_XDK_/@,!GM>_E0"OF@#/VNH*
M>TMCY"B%7#Z6"(UT"!34,04FE3CU298G&!&V1.+[3#?6_\HE3 >'Q;O<])>]
MLW[@CF>P!@B^-90&$[SAPA+ME/%& OPH*H*+%==?*JQIS$?!4YP"MH$CHF0^
MOS<Q,-MI0IKX2+40T46_MLG6B:C<^BLNOO-4H1+?51/?65/=X\BC5 J90!WB
M4LE\# VP?NZTS(+-(LGBJ]F]J4(EOLNF?;E)@DBM1-2" \T'^TY1$G!BWA(5
M?<7TETU\9TUU:D3.MD](*FH0#Y0C &2'K 4K/=*43,19?)FJM.^*B^^\]JW$
M=]7$=]90IU1+K8U PG*24]8Y<E@;%+5RV B=8G3942Y$M:G^X)+WGU'WP,)M
MNL6;7K_UBRJM+\(O>#A*,W"CF;3>)T="R,<0*4>3H5X1RX@5.OB*["\7W,Q'
MP5L!<Q9R_"RE"EZ -VA,-3(^$4^X<4G0M4VRSL1"*O54KOUE8PR5"*^:",_:
MZY9;*5T^/(GX %:Z(<C$Q) 4)(!^-T&QTEY? &.HQ'?9-#"1@>&@M10J\B23
MY5&3*%UB.?Q2JHKP+YOXSMKKQ@A+F= HXI2C:!-%!N 7@>[%0:@4<$Y9KS3P
M,Q'AJS+1*A%>+1&>M=EYH@1S[6$\*4;<A8BL%@I9Q8)C(M<.Y-EF)T(LD?C^
MQF:?'G(&C8V_EOCJES__LAK8IQG850T'^?]Z_0C/^M*[6^+&LW%G?^N?S+JS
M/?,T!$=!,?)HJ;9 B"B@K4\:K!I=&:=+I1IKS=VL%DL?4_ULZZQ^]NDKY8(0
MX3U2)##$M>9(8R60)S8E857.O\^ZD:HJS_,9R/ 56U*5#*^<#)_.R+".4AHO
MD4Q8Y:IJ'AEN&2(L.4VI%"R%<DL9+].>5"6_"]'!"CMJ:&*$"<U!4BW&U)+H
MP;*!]_PAMI13ZT<,Z"SV>Y7HWE)TZS/J-VIAN<HESY, ]<N$0)9;@XP-B1!L
M&:%V#8144T+_70GO:@OO%8F3E?"NDO#.Z%V)"4X:.T2-%X@;CI&F&)0OY@P$
MVT0CXS(*[S.-!GEMNS;D8)#M7KMM^R\[&,3;6:P)P1J*M4S!&6Y$CC>47' B
M1;;Z%'D HE]AS?WM]*,]4=M^_Y4D87(A'L2%PHA[3I!CUJ&@E1>.<AL#71C6
M5)M0RT84*N%=*>$]_5EX(]/:<&J0),R @2X",H0#RX>IHR%@^#15POM,A'=>
M\RH#S$UYF50*G!-E0B# [IV)8.&YP*L=Y*63X/J,^F7Y>%I%,5)$T'S<*5!]
M[!(BG-(@!6"O83D*A.LJ F3%Y?<**[V2WY63WQD-3).2V$B&2,Q95U);9*6F
M*#O8(G9"&J&R_!*Y3.<&59$*#QFI\*^A=>T(_PVM[YO36:^/.B"E?O/_PH?3
M.W1L_Z#51</>\:L9,#L:#8:M=#H!KLW_Z_K_VCQ?*.5M?[KKS[#BK/9.QN@T
M-OE4'$>DAD\\,\YCS>77[9+3$TS0!;G_&5$^^L,81NW82!?8LML=#/OPO.YP
ML-O].+3#F/]NI#>MKNUZP,UWO4$K+^PWMM7_;-NCV(0F_=7N^6^K"2[M^)\/
MI_M?PC&8P;+^I792VZZ=U)N?VP ,1P 4/_:.#OC>T5_?:F<?OD&[6_7MO9/Z
MV\\ %.]/&OE0,2.830(%&RWB3BFD(U,H)>D#-]$'X=>*" A\#$,/8YN7T1V6
MQX/K-9KUVFYWK$>R3NO' ]O/*%0,#V.18+Z+[WG"BUXJ/^F-AH.A[9:_@*M.
MX,?E$LW(-RA.[*" _Z=>N]T[&11_M+IP46\$C0N#/U_]O,RO'@Y1THA2S,[Q
MLM</L9^QLFV/!_'5](]_3\6TU2W[5%[T[\F]QJB8;S?G8\R#/?[ZWR>M,#Q\
M9<R&%BPK^ EP3AX\_I9LE+I_!L0GW]$-0>2U7^,-<OVEO[JMV6!&W>FVO_Y.
M,+KXQI(-I?FJ-)9N4,I6I+%Z0V&S(FU=O55P,_GZ#9^ZY?[&$Q@M5U/1\ZX0
M<6&@C7%V@IR9@ YZ[58HIBW[15\]T(78?]3>JBM[6UI)Q06S&5S;\?DYO-:&
M?69C]$_+NE:[-3R]=IR>^Z)GL_,Y(6(K.)E_V390]+BHKEXK ^;Y#%DV8HK2
MBED$.%1KJ5I+<VOIY0#H*DS2Q\,8AZ6CY9^>+\W<2O!_/FEDU#XMV'IQ\4_V
M'CTX#JSD"%XM+]O1QXZ+_8*1]3QX9+$K;+F&H)*R2LJ64,JJK8\JI[7ZY3T7
M -&K$-1;WN=5:P@/\#?"C7,_1U'O9?_0 !IFAS'DW8K_Q'"0MS,N[8*]N@DJ
MWSDFX@;W6!CD5XV\=2,?*2?]"?3GCN]U>YV6+PYAR<?Y_;L[K?J5Z?V[?CRV
MK3 V;>./X]@=Q,'XG>V&HC<\!&;A1_T^( #@PB N9D!F%^]M!O+*<*A''\ZK
MZ>Q_W2</Y19A+8_7HUO$=UE,;!"1."P"E\%H;HR6Q&"<*-%*WC&X>O!,HK9V
M&'QW6CN#>]&:J)^]9_7.Y\/:]GNXSXZH=]ZS6G,7/F^W9J.VH&W?:F>[9[7F
M^[.]LV^LONWI_I>=D_IV[:36_$;WM_V/VM$WUOCR=ZJWYBKG"1F=X)ZA2!E%
M'.N$G/,1>2.TY3APG0_%X7(N8FNZF)_:Q79+F'W*3,S5 [*K)V*5@>S>@:I6
MQAQ/9DE4D8> ;<1$A,!DP-(2H>\8J%H!V2V!;*Z&H"::DA@04]H@;AA!6GN,
MB/3&$X^-,'QMD]W[:,WE@Y7G13JWO.^/P,Z<\LV*45:,\NH#&96EP42LO#6<
M$Z^-=89K3#1+F/H[G+(TC?-HQ0J-;XG&8@:-I08^J9-&7)F(>/(RH[%!BDA*
M8$J"#QIH)9TO!EGQRA< 9Q6OG(,S[)4,G/(46.!!$&>B9"ERR@0FA-SA?-D*
MSNX,9S]F2P,$P1CF+J#$2 !0DQY931BR@6,P VR@DJQM4K9,Q?MND("3W^=5
MV.J.[!A]RY]=EVAS*0-ALLPYW5 Y9>!XDN_RJA_;Y>*;9 I,Q.#2A9-(4'QQ
MB76#7GLTO/Z2N9W5Q<BPN5&N!Y$_C\'EU\/^Q;;\042N'^TW9!.T\)5MG]C3
MP=J_?D[;:'6G-]=T0\/S;]OEW\S* XW4[\E;.52O&V_K._]3O&Y\>-?XL-7<
M;=2+)6UIO='<^5@T&]#6^L?&/[O;6\V=[>+-;GVK_GIWZY_B8Q,^J.W4FQ^+
M/S[5MSYM[\+W?UZU$&8$:(*N0$1E)$89RCF-VGAJ(Y,BJLB82W3MH7/6&BD-
MXA!:=3!V+C0S"+S<%+2:J)U\55Z'9!1%DC* \. U<BX0I'ERF'*'';57I: ]
M9F)9,Z>0E;E@94)9F=1UW(^#O,5:9I.!LA@,BJQ:ON=X]-3K%[;=!D(P5?J3
M?9@B;]"T+PA <7+8\H?%2>R?WQ!L;%BOMNC&8>'LH#7(;_,S7O>ZY:9?N=T[
M"7$MRF"E01%&L1CVRI^5&BAGN?7*Q5:<M(:'1;3P%)]SK6/_V/:AB<\^I8W"
MEU@_0"*/IG=+#_I-UA'C8E4:NTJY9P^V#!XH^>QAEL$R)I]=RD9:KIB]I\G(
M6H4QN'?&U:-&@#ZO2-(J%O<I8G$?)]I[V>ZS'/-5K?BG6/&/5"'W"?K]=FRD
ME26G!ME"ZD??.^C"'<)]PN1^$^.YD+C.Y=DBN.^.YZU[O>+;H9A0G(P)D5'"
M*8Y&*.:3=B$2+*GGM]\./:]==+GR4<E.G\EV0OUPO[E_V&CNX=KVFW:C^9[L
M=?;$'GQ6/_HD]K[\_:UVMG/6V/[$YK83Z)MVO;,CZD?O3VI?/HGZ]N?6_E'[
M$#ZC]68;?OO^K-:L\7HSI%H+G\X>EL<P\YQ&1(GPB#NCD)/2(Q-IBH$D;+59
MS:"[VTK=$U==?&:8>=]MU17#S/L?.VIXY%1YRP+CV":--=?),2UXU#'=X=C1
M"C,7A9EX!C,]K$QODD>!L7S J"7(6L41CU2G)!/CN3C[_>/[5@S!7@YSOK2;
M4='GBCZO)GT^=VQ6ZN!VZH#/J /"&,Q2BDC("!2::8N,P $)4.C64<IH""L:
M8+AB&NB9 6?%H9>20U? >4?@_%%[/7/,0E).Z>!0U#E1)MJ$7, >6>5(BDE[
ME\NT+R"4\;%P[/FFG\_2X1QG\Q#Y,.?W6,TC(I>0_)4F_^L<I#2,?=MN.!B%
M,D"PV?L0AZ-^][4='(ZC])[YB5"/!'2G<TY6X;"'Z0->J() /&B-K$\,6>FE
M9\:(%-CU!T(M/4M<OC24%4>1)61"%8H\.HK,NATEV)@I8HD2UCF1C0* ).,1
MB_E86NX4MGP9SY^M<HLK/O6,^-2Y^7>!AA]RVS(0^K9M=2HD7#02SGK<F$I*
M,N!3Q#F5^91!%E0;6) 1<ZJ%5;\Z';?B4R\-19:03U4H\N@H,N=^TL%(BQU'
M@1").%$":4H5@IF4BADFC1#+2*B>;[AB/0XGG"CON$[RQ\Z3Q)YPKW62O\5@
MQD)OE+/!ID.P8GL*B]V,7<2P5 3S.1?A>AQTK[^>\[E%&I+U)"$<"'!$;R.R
M-DE$%.:&A* 4)<\AL'$!(K@:N[;/!H(7NZV[^A"\A.R\@N"[0/"LP])A'V%N
M)!)" +^.AB 3+$$I2FXSPQ;.+CY.<O4!\3ES^LN%("IB7Q'[ET3LGU\5M$=3
M+;,>8 $Z1%MJ$+/$@VHA%&G"(HJ>QZ0UL5C19Q%SN?K:[*4!<47OEY[>5T!\
M9R"><Z+;0(3+L0C.>(TX9AA9HBW"BEM,N?(Q+*8<Y=+@X@V*6?ZR=.7#UMO[
MZ ]C&+5_BEB^=#K66]OJ_M,;#':['X=V&/-GC?2FU;5=#S+]+O;+O::N?\$E
M^MZ?UMY_-80+IF-$DEJ!N'<!.>* 8 3-L7!*8Q6>ND3?;G>\,9CQLQ\/;#^4
MI?H.8P&"$GUI;UTJQ]>Z6 73^GK^<GV]-%T%T/K)TA@4)W:0SUD;5P(<K$H)
M/= Q&WBL9VY=0P]O2'VW2F^_K!RF-R23#U+F[/J'WJ/,F=(/4T"N:NQJ-=;<
MJMK=] =3F#)CV7^V!ZGW 1-GXF*6JQK2-37M)H<\@THHSG5_<4X(%E+FSZS4
MB#0/^Z#K._"[PT&QTPTW\DD^LS'XV/IQ_0A<(^#\F0OX36=ZM8Y[G]:3NV$5
MN97M_=6S7O:>/T3AP^7J?37WMYC[E3M1?>4:_))_64W6"OVRFJP5^F4U62OT
MRVJR5NB7U62MT"^OG"Q*%AX_-NP=+YJOE_=YU1K" _P-&/RE4QB*>B^?3C&
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
M KR5!#-.C-'41TQQ%;NT8F@[&[M$=0Q$:()"F7HL'48V!8Y4<DG)9+#,D?\
MPNN,WCOTO\*^BFFN#M/T1-A<YYM3>*66F624(#PF:V.BP52!12N&?;.!14Q9
M'[P22)I $0?>B73T$K&HO!'P);RN;7)EUMD5!R%53+-"VXII+JYH%\E%/;6U
M/#G.#;?$:2Q%@B5O\N'R5=3/BJ'M7-2/BIKD5'7L53Z,*2I VXA1$@P;3I6G
M(J.MD.N2K\P!Q\^WI-?6\7$;6I ''PV.0012CCJ:"$\>R5'^ZFX>WN>=;G]O
MXJDC8XEA#YQ3<!F9$\%+3Z)V-$6??.7B7"DHG#^73B=')</YA'>9$ ]<(I>"
M1LZ2)$#]V<##VJ9@ZV05>6=5OV/9N%541%*LHW3:\ABIM5HD0:A36#+.6.7%
M6S% F?7BB>B449PCG)1&7$J;"Z):I&W>)*/&.^S6-AE?U^S>%=0K\5XVOF #
ML3X0[(/T//@$NL1B%;E0%@2>5!745TV\YQQ5B5NO",BS]A%Q3#2RF!,D'=<J
M&..\ +Z@U+K457W0"E#NS1><-4%XF0!8.,<T6"E9 #QA7#%"K*I\,2L&*+.^
M&$H\%L8F%*D2B#/BP/:P%C%B0%\0$B/.Y]B2=<&6J3YH5>_KZ;U%5?V"JMY7
M!;;7@NT5Y^5IK9-CRJ <H(AX< PY9CVBT;& ,4_!N*K>UZKM0SX;0*_J%U3U
MOBI _Q6@SYU7:+34W&@D#>.(*XJ1#C(AF[R4*6'M?*KJ?57P6O'EJMY7!:^_
MA=?Y>E_,VY (TDD"O(+*1#;0B$PT0)>9E##I5;VO"M KOKP4@%[5^ZH _6=
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
M!JLMRVK+\N9;EC/J[B6D)NP?UNC?[;V<EO!E_]L^7-MXNP]M\2?[S4]\KWE
MP=0ZV?NRB^=2$SH[9WL=N/^7';(/[0*-R?<[<)^SO]KUYN%A8WN/[A_]=;AW
M].'*C<M$E4Y$HA1%!.,,5*=67" JL;)<"F8M7=MD8EUQ]OS<:,OMW1_+@6U?
M#J*;!."UQK'VTQ#\L6[_:1-R$FGW(G8AGW(3<@:LMF#(RLC,"K46AEH?YU K
ME\EWFF)D::XH(S5'U@J/$O!_[R@-5)"U36G6-9NO'[RZY;M6 K4^7(#/9> Z
M-V  NHX!K?H3T'H1NY1/&B8Q@U#G_YE&HY,*JA8&5?-1$Y8;Z@6FB#/F$+?*
M(4<T0R(RF!=N@Q!Q;9/J=2'F*PW>/'*BXE9/'3FQ:J3ID3%I -V$OWZ*H9A!
MILF<O"Y)K3^=ADQ<#I>H@&I!0#4?2V&\8%H!/)%H#.)*&V0EM4CAX(0)WCD!
MEB!9EU?4'%GE"*\E!*<%A%(\T]HC53&I)0VEJ'QV#X345P14B)""HR:AQ'%
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
M]BIK?+DG;!IGDIU>PWT<HOGOW_2'HW9_=!"A=9-1:];:\K6V)78W#JMR&:Y
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
MFE20PA6<OWI=K#%ZS0["!-"&,'M3[.KT,J]<;VW.0U-G%$^&LQONN"%>;Q#
M5[^QWT$1PQ0.(NY#P$OF]?!]PP^?7 ._L2,[' WZI\<=O_4U]AI!O9N@\AUX
M)PBJB*6S)6C>J(DTI2&.>4J$404 '/,!(^;YFI37;)_;06>(ZC#O'%W>5<*_
MNOWAL/HN=09Q9D_,!2?-Z^Q;9/:W04RXB=5OX=F1%BM_7VO]QG_'N"$0Y\>0
MWY2,=V6DP8E"!N%-=-[8%#@'X$_1+LJOO&TW?R:YEZ06/MB+HU&WVB1KA/4V
M86UO;IT=TI!X2DP1;3S01.,]T5Y:(J7A)GIF 2V0)LKK]O4O"2L(S38>*,-0
MLP\1D&,<6WMQ\+7C8^NW[0][(%;C /;MO61VXW30Z;86PNG.\GYP&@*I=.>/
MA[6/GF^MD=7'D=5]+PY+6Q2\4 6Q!29.\SH2K0I 5R.+( T+JLS JIA9+JOY
M5&VU20Z_QLGF.-@J(*.Q4OB=:L-OA!M^()YH-6?QK+=<*Q#N#.\FYP^"9,!?
M\9CX^U0R_>;8]HZ 5FRB0AG$ !=L#&&!#C&X*E^!I_3/,+JG$?A;!?["GQWJ
MZ!57DI.BI X$GG/B"JE)P8#M)F63HK@ELP:F\'*!!]F-0SR=WAF"\=Y*XVZW
M]74R&RT[F8Z6/;*=WA#DM9ZZ+&XV3][\HH%)BV #Y6]!-$,G?_UP*$<;[C?Y
M'&5]%R-_-@+ZDAL$OV&#"%D&]&ESI\I"<?'^T DF3!DMT9H',..B(!BD1Y+B
M"<BA"(E1+(THU#5F'(C0"9".[CG._+ S'.68K50%'"&5Q7"J'%4(T@46W7B
MVP#D=-#_"DP%Q7XV;>O/9/_@!N/TP5LI,VOUT=C3HZ<ZO(NQ>EW&%Q^'0[BA
M<;7<ODP_O_]VR JNA"QPWR$8 G9:)*9T@MB0*#4*#RWQ; @(]C@.N4=/X]8(
MRU-O!T,[S@^YMB(F*8D1@A%9EHS8)#TQU!:L+(.T*J%?KA!ZJ> L[A7,\8T<
MJDI</E/BY^9K;4X)3)TD,4_BI6W4*XZ4T $9&42D/"Z.SF+L51_',*[D-:,J
M/.%T/#CMHWF 4IWI_]SKJS,-2'R.>CGH%N]*G1Y0*4!Z#+WM#[)6FCXE-Z *
MO.V?YD?$;W'@._ =!O.".5&[>-"L[?5'+1"[B&KC^T-KGLT>.2S"^O#M%9?7
M,%[>.<H:\-+QH__SOS1GY3\>*>SPL>+1[NQPG?9]HNBWL8?_!A&)B$._:NC)
MSOX&VP'*R+7BA2D(%1CG*T4N)B&(9XDKSVD*U-^0?NZ'1I8V4_PH4QP*PZ0
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
M-C?4SN>MB_9%^-R^V)$[%Q\Y+'6ZN)0_G6R?[9QL\0/^]OC3NW:G_0Z6_B9
MP/Z.:',\17-TT=X_@*7^(>UN;G\[I*5-$1T;L)@UD4HHHJ,4)/#"&\&#-SB
M"S7NHI!!4ZH=*V5(U$9I65DR([01RO'%'*A_Y5F.@6Q\!5UZ%%M5_OP'I$.]
M_<V76ZJ5#4 VHA'"2\'@BM)2YH*/+E+X_S1ZZX=56/3',8R[<3=-!J$>@W;>
MQMQ-U5#LXR;,KRN'6_RPP& [)C6QKG1$1AZ)\U$1SZ4'I<(+KM2B7#TY;BVW
MA*?B;6OQKM.&9^\<L 0_KOQN%I4.'ID<MG[+%C"P4U .P]__N.-&&_2JVJV;
MNKIR=6+H7=>>#N,?DU_^$3K#TZX]_Z/3RZW--_VC?E;M'T,/PD)EXNQ0J+Z>
M^8W6:>4[PCK%LXK*]=?K^:N%:LO5=Y*O4ZZO_9JNLVN_N^FQC*\+=?W7-SWV
MYN^4>-A3;VELJ1\V!C^EL<]K9(V\TV-SA>U:>F&!X$++D813Q^JE(M[S7K5N
M3-=7[WX$>-&WH4M>><LKFT][8N[2D\H#^B/[<CO%H]56_93J#UM;2)BO[=C5
M*:+8K5?/?@SV)H;#LA%XX=)ZIYZLS$S-9R1\##E=U=XOG\K<^SHH_27WOIG[
M>\S]+?CDK/]R-.B/>X'4#?0>[*_TCY\(7'?L\C_M$.R_LT4N/REZ4U'Z_G@T
M'-E<YN=:H>"WCT9-W)'6PV"TAOUN)[0F'9L?*MI:,F #;.(*+)'[5>E[=&?O
MC0;U[FRB\L3>S9DKGJ?E?7QP\JV[^[G[Y>"SEV!=TYV3?WUI7WSH[/ /Q[OO
MWAX??#X0!R?MS[M_P6?[W>/)/?"N\2?^L<#/H4_BX.+]^<')>]%^MWWQZ=T6
MM.MMI_TY= [XCOKT;OO;[E]OTTZ'?OMS?VNTLT=Y^_.7,SPG5Q@5!).D]%03
M*:4A)I:!.&N<%Q1=,)@#KA1KBE[-XS]92$^WU)>3E$=;M/AM7KQW7[0WJ(M;
M(?5:E?,"@6CY?-X/B!X]R4P#1#\+B"X6@,AZSXK2:2*<QU,K5A!MDL#P/6VU
MHJ!U$@)1L5;PJT?!&UAXKK#P&/SDT<-O&UCX6;# %F#!."J<8Y1XYI"?E)IH
MS4K"/1Y$5JI,)E3\1(NK6]4-/VF Z"GYR2,4&FB :#6 2"P 402)3526!!,A
M$,F"(E8&H"O!,,J-AZ]BQ4^DNEK^:D5AX=XNH93_N:]+"#KPI(NV.@(\J\3\
M-;:PA#(>[,G%EQ_D_UG2]15!KN?CXMG$Z8CA"GS-LNDV&/9H&'9^Q=DC2Q6T
MIP7A"AB5U$BF7"H(3*85$I11TC+G^=3+DFVM.)5:#DT_E"TMO/)!;&EU8>7Y
M.&P:6'E26%ETW:2"%2I22X02D4A7.&*=9\0%JXT!XEL$E]-Z%U?3SS2+_/ES
MAZ=QOS2+_$D7^:(C1G$I+6>&F%(*(E6$]1V#!TO(BH)JHP#5\=0 E5>MGX8[
M_&JP\GR<*0VL/"FL++I5M#4\<2.)H#K@_K,@5GA!J"JYELP')2QR!\6OYO'\
M>8O\Y8;27 F(KX-H\"14]2M!5\I7D/G>Z,>$UM11[@+F)O3'&#,_Z>QS<RD_
M'\?,;KH.!QOT>RST:[^YXI!1W%HI/2?1:R!5AI7$\-(07B9JI2I*H[-36:X9
M(YX?K7KT=?W\MK]>#I@]'W=0 V9/ F:+;B!6V"04<#?& R<R<$6<L)(PX.K:
M,2L-M0AF!L#L:N;0!EI^76AY/DZH!EJ>!%H6G4^ND"R8H(BWTA/I='8N.^*Q
MHF2*";[%8JBE6M/E,W0_-6#V@L#L^;B^&C![$C!;='DYSZ6@P).L,HS(Y!/6
M2Z2D\ 4:]D"BV(0GZ:M)^I\KM-SB,IND/8"NQIO1J+GR\I7-P/[(@?U[3L Q
MG_;V4M:;F]+@SB4 65!*EW-^WI*W]:Z/^9FI0V_/U;,W5P!UB FS3L<#?XS5
M$>ZG&74LG#*%+"-GLJ#,1$H%EX5B-OH8;G.';K??+JK&#>C,)$QP+_IQE4&N
M*KT6 V:;P[Q>XRH3\VY:S$#UG.H%/W5V(/B,'AI5%DYR0XJ@':@[%@G8:))X
M:D5R6)E/^5>OY1J5UZ3BOK$JT7(W$T@)-<PK3:T,0FD?0.5JFJ@VW!3^%ENP
M$9*G%9+WWPXCM5XR7A)5"##PN./$Q8(3JG2I:,&393DR4;-KA&2R$Y6FI[X1
M<-9:N'5U]62XL\,.U@G!+$]SFU?793:\9_'0RS6M[R^^U(52):L\HTGJTFOI
MO; 6BVIS;4.ZQ4O:B._3BN^&VMW_^&UG_P#;^*W]'A O&*NE)@GT(D%518RS
M@D@K2V6T#L*;5Z]+RAX+[QP+S!?>%2YHZ:AQ*?C",(654ZAF]!9SL1&8GR@P
MYWC(+8DBA9A(84S"I,H%T?@;&(@R!3 (2X^U*LPU C/)*[RLUM4B&KGQJ((]
MK#0_K8E3)W6?)+Q#B9L_/-&+HTG9B%.L,X53W'+1V_$0@3*>5X^T(#1D<M-Z
MZT,<CH E8_J\#,99B)'[C8"^ LK>5Z=+6D9:)).HQ,. $>18BL"M=UJGU!"_
M%9+Q]N86._3&:!&,(58RD&I.-7%4,B)8"8RLD*Z4)1 _31\+!HNR4,:7+'@J
M9:)>!U4$4YH0G2J#Y@WM6RD1V3X_+*E1,IJ2\"@4V :"$UL*D).H"ULR89P2
M6&?P>7&^!XBN-PIL64]9X:)4UMDRJ2A*P2SSVGCQTRC?+RJ=EY4T?'YT6'(J
MN /\DH%[K#VFB+9:$.I266HA"^I 5M7C0!DU%$Q6YUSD!2!DL);:I+E0*BJN
M:S='P^A64ECHSOM#IJP,45 "8H).#U,0ZU@D-KB2:F\52[AA^1 ^]X0,#B8_
MSW?/YZIBC\CF..=,:YZ< _DN3*FU30Y(,"V\H9Z;ALVMD'RW]]^K]L5'M@NL
MKGWAV2&55B4!I"XD'H@4">P5&QUQ@8.N2HI36[QZ+<1C$;ND"B&=M:XT0B9)
MG<8BD, 1O$JQ8.RG$;M&(.#?]_10JX)':2D!15B"@HP&*)PO""T=#44(KBC4
MJ]?/B,(]*<SN'^.'^9O[K0L!RT!3+AGW&LPI&&Q8)(535KL 9+)8!4<A&4:/
M2'K6'X1A[/VZ:^8S B?,42B%)TE) $Y5)J)34L0(YA.WGNO2WC=61%%OC7<R
M%-1(6(2.*^%4X2S3"<RKN I4L1&".2$ ;<9 =P7B.6:2*3@8O<P)D(E4B"(6
M( ?^U>M>?TD<VU55.@<D"#FWT;4YU+P%9.^%J3,TK1,//V:Q(T9UL9+ECLH?
M5NZH*BC?'P[S8K,C"Y/9/SU>E3(SWW8VC_B?_-/YP5^^.#CY5V>';\-W'\7.
MYON+]KM/\/PO8F??GQ]\/H#W?#R#3[Y]^FOG:WCW'QG^OW]U/_'N5_?YM'-P
MLGUQ .WXM._/VIL[]-/)SMGNOO_6OOA7I_UY@[?W_WFR<_&V>\ T:\,SV_L?
M81WNG+7W-PZEA=7BHR5%+"7!J /BDG"$:P>&0["%3E=J"AG'I-;.QA"E%-$
M._%*V;*,T9?)7*E^A%-0U?U[VQG$AQ0]NO6%EQO(/"P'::-VBDJIA*:1*V8U
MGIO :JPW%<[YV:$ANSW @5YLE1-"M:P(]ND ],[@/'<;80S+'(X3_#(> &'"
MTH2#3NQA#6K;2AWD2L"H +A.NX!U2+^V>Z'?B\..K2J]Y6L"@EW_/-\TA.YW
M4L?CY39K(F1H;_I'O?B-],^PUC:\&Z_*=.XK5I$=='))1<#";K=5%XV#E^07
MSBZH;JX+U"UO_^C8UJP1F@2OR+6#T)ROW@^][V,A\>&4\]E<!V^^S<&>( I?
M*2E7WXJ2A0<P3_%D\GIKKX-@CU<&+*+:KRJ/5P.73VQFX:J O*K&>?G:#I86
M/^T/1I=FJW6,@]$??)DO+WE-C_NY[#DLD^K!V/A,I<?(@:=MKK;!73RJ"31\
MX_$F: 2\OQM[G>$QMG)^O&>S6H\Y=FN]M1%"K@UNNYFFXR.1?K2Z )*Y(N#5
MKK@8>[D_>2#ZK8$].6V-3Z%-+3M]VO4=3.-!KCAZ E<>X= -.D.P46 AQL$0
M5EEK.#X][8),']M.W5,09/S/W*0!K%C?&9VOM_Z*6<ZQ;B"._UU:@,81KHKY
M!V)AJL'$(,%^7ZH?.B\*EP=D6MG^/N4^HQ6@R$J,I;%2TJ!%!#L\> W_LZ72
MM2XK:$DFORP/2,Z:[=T <'6)>GL>=3M_KO;[O$W;%UN'A7/ F,I 1$@6'8R*
MZ#)JPBUHE9()T'[LU6LIUPR]Q@T#DG.$\]#J]G$!K]5&+BZ1GR(9$^MCNX:
M\[_ [HB;@+J-5-Q)*O:/#CWU0"P<[E&48%I()HF3A2-,:85;L5X)_NJU*-:D
MELNE F"C4M' "BYKS0DTG]=:SLXC-*BX$.,)5ACN ^2",6*S,V00@8]<Y,)W
M7VUWG+7.11ST,TC^5#'; *$?;0,D=@:H2M^ Y7K4 -!=Z+<_V]G<.O3<X19E
M 0 D'9'&:P)F32"4<N$+%CS#I%]Z35Y71?B2I)T""[#GN4XN5KO.O DDJ1;
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
M^+R_4IDR<[P'1K0V07 KZ&MVW2"/&@W&N9FH=F IC7O)?NWG+9/64;?OD$S
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
ML' A) RR\Q*S=1]!2(K0/BI"E&N3GR^)8Q#1]I%GEUX7>A[4:6,9<WF==-P
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
M:III/5 +Z(S)C]VS\C7LF G*<&FUZ9ND/:74QIS'M@;Y*G8!#&U,>/(6C:^
ML?!X+,A8O<QI-/]$^%C@V63>* JNS=T8!&WU<%H=/-.K2_+0:(X6$O<!T(#+
MO>!NZ.@#&X]$/%.G84%O"W+,GC"P^[GJ4D-/2&3K\F B?>\5FNG0=?6_V+]A
M'A=3K>"&'F#D:48;1GZ=Z52]'V0A!&6D[%'53--,=>C[_$6][!1,="D(V*SQ
M0G=]]F:L#^U^;I.L&.ML?KN0J(\#1C+U@<$]]#0:9QX18)7XSE =<%,G[C9#
MO(*K&>@CF,[K 9V(6=Q.!+42W,> .]\O,%"K<_V$2:W/U:OZL^8[Z<TLS*G-
ML97?Q-;\NIHARG)$,<L].I$=FJ0\=1B9LY^307[?N@JI-J9"1DLWBI"U.)FC
MXJG=S^T%58.V#X/+MD[?K*I:W<WT^G.=.6]C*4:T#WMV/[<[5(GV\GM=56L4
MR=[/BZ50?2/J&YO$'3X3@<?JB=1PJFTFOP(!95<RH%-]?"E]!<82KO*3>@B+
MN-OSGJVK9'8UR^[GMHYJN%JB93=6$V7T1$I1M8>4JKKT9HX5]Y0H5GCOGKE(
M8KRYR*L>B P$=?3;W('@*RC7+&E[:R7,+MBW^[G=JDH7K!,.,XE@JEWL>UJ_
MO<>5XWE/A"Z40/+\QO[55*39FP9V/U?<;^@L&3WVCM/8<:ZF,Y_/"8EKI_I3
M#Z-5*E68B;YBJB*'SNK_2UPP/.703KZ-?VU7,[,;VO:@>9:U[(:)NDD5.OIJ
M1G>4HW^'4J6C8)>HC2*]D5:\O4[[0&:A<";JF+Q0^SS3!FZ5IS460@X/K?Q#
MQU'D2#FAF%7K<6@^RDM9F(?CD3W(?P:C!)56CI/H.X%/^+7^"=>4P#PBCJW\
M<ZSQ9PDU>3NMW/ ,:X[.[.\G]J#@M&1J\U;Z^$IJK:?3NL?T"DG-?G]JY9_Q
MS>7-$:>V@]#HQ*2!@;'R?=0;Y,^>E #2QH)WH6$O4\VX5]BB42#;4(8QZ!U9
M]B!_D+($7_7JSX54M6@N=81]H-P6SO50[-N#W )Z#T[F96-<2D_PZ345-?=U
MERB,<]811,A<.5@_+Z'HD6+04DLW>TE; :'9Z6U[D%LC+]N]E;[^&(XD^3.$
M#EP]US^7FJ,R^SQD[/GZ\X(%BGBTV.C-DO028K/[0WJ>W_!<A>"O/@)^.WB5
M9W@VH\SCZDKTFS$>Z:XOP17B1^>R%%3.F+W^L7C[^'7T8O1']64S&NAC\J,@
M?ELY_!IZ 1%/+_S?! MYH1["(T\308C^O=A,[" \DOIHX7G'P[YZ=HCA*3GO
M;%L,H[YF=]X)A/K].A(^/9OI@J4RRGF',G7L,4ANC:(/L9]W7#*B<%6"@P0T
M")5Q/@D>SLX[44,:D&D'!9I'=&7*&;B.F-_ '<6[<U!JS4<>!I,1!W[CR6<L
M)78FH3H?)3^3Z8B(K'DBO2/K5))5=]<-A0:Z9L_<0'357_+,Y5-,68V^0>H_
M5RCPF3IV2%[QE#(M<C2_88 :PW[\+%U<<BYUAC4X;=T T16U/</&-3I_PQRA
M7D%ZPXJ>P@G)$P>-*0S3>-N:N.#H'J'J=:</ZDW_I<;8 N<FQOF1HZ%HRR2W
MT5*X37*)9S2(/M$QG*KO"I>:;ZLR=C2J5)T:?R*OP87/G>^E5FK X0U#39!(
MJ1-)=8Z60W*HWELTUFTOYIDV\3N$AZIK\9,A5Z]$.%2JOD!4@7$NJ6.>I-Y4
MYJX.TN(1D^]S69?3TQ'I DQ:P]C"I3/>&TO]V?/%HQIMH&[!8:2*I4 UX2XL
M!BY#(0ASYM #)J-E+G;_$\8?K:E"OR[U3T=Q0R_-A(-A<DZL22QZ8]$[.MVE
MGQ:\*_K6X3#_-=/J"7 CGCLR)3;+H1994Y1%7?-0O$FN5D/.COI9K2=ZOG#M
M%[!&5(-++M\*YB1875N"$9;>!=!@W;I]X6\40!.B.B&4^#X$VT^$$8%]&&=#
M%[(]JFRB/]-FG@SK$>_"A/@E5+K<>9JG_$:#"64)QO=\%I>"2MVA+GF#H=0
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
MN^PA,[$5(]IJHK_BMROCK5L(VA85-3G\G#,)*GD&GB^O,DAH@I,Q\=:5(@]
M&I(7W8H<+;70?.7[]FHV_SA-.*]QXK*71;?,+5RMW'+HO?.H('J*"U6J@U<Y
M@2:!:&0I2-DZH;D&O"$YTJU7F-;:Z?$D^4@+S\F*(01OZX'47""*HD!K%IDP
MG'S#UA'6;11#<IY;D6%+6;>MH;UJNRXYZ+GU*","\]E32!?K861#'KQS!EVM
M%16]M-._$\V0=GJ;.1AM9+^/ZR]"=_AJ,ONR=:>ANS^TQZLN[@;>J/-0+=VB
M![R=ST[&]&F_?/O8U2E^X4@^3XOQR2EO@N&*58V:I'-M>J\A,$81MS6JR)"M
M:7XUT>KHMCZ#=7$#P,MQ]_EL>3LHIQ4,?)14L$HL:YAJML'P#-$%!XZ3E>-6
M,:5:'\J[']&@[AONB42W#G6UTU'+.^OF-=9ZB:??7T_O[9HQ0D,HLPZU'T(
M)90%I\@,F^*BE:DXKEJ'.FM"'%)<O"-B]:G$'IEVYI M7;&S-E^CFK;VZ"U(
M'VN!OQ?@HB,'+2KA"Q81<^NC1"L!&U) O3=6;:NP?KETHZA[))TW1AH#0FI#
M?J*N75L$0D%I2_7UI&B=MUT%UZ!N3]XGE;;15X],NI5FHK$[Q;R7-<987A/.
M*>2(@59JQK05JL++K<]EK 1LS3#]!^72MAKKZ7YN,GR!>UN <^3U>!&MLDE;
MR!I#=BD:W[SE_-K]JG<5O^^(&YLKH'\WYVH*P[D<)47G@/5>*<5XA*"U@B1E
M2(6KT'ZG?!5<0SH\OV\G9U-U]4BDLT,*Y^;NSL,*H^*,L:&2WJ=:JILR.")Z
MO?.ZU#\$S.T/#&V"=,W#^C_HVM5<IUOSKV8/1[]^3=C5*O.#V)$<%WAQ9.K%
M89A_JJESIQTGEPR*<81)2PE!1 DE<&VT]F1D;Q1EWTY+KO:H58CB?PRKU(/L
MVVU5'=7V_/\=3I-6-QO3C$0PHAZ/A1Q"KO5,#$)(C 9.'AA#R45IO:3=CVBE
M#"/[,7C3@XYV$*N?IQ!,"B4S%R!GK$W+# 5^A<G:PTSJ5!2%A;L+U-?(]_!=
M%5SM/4K?1%-M3P0=?*YRJCT0SY;($=<\H_8&M.=$X601HI,%@DM>6V\\ZM;A
MU=U(5J+*#Y9Q;J"3':1PWB$MG,<XREQ9C9' ^%!W5BRY3M%FH/$'BYD[U?R^
MC@=!K<2:'SZCO(VFVO6OO+P]?7DE]-5NNTEZR8M48(TEBU<$A7XI,D*E6+5V
M3JCF+2V_#V<ETOQHR>-6ZNG1X)Q[Z'6HWJ/G*7O0O-1;LD($EVI-$4O,JH),
M-;_GX5Y *W'FQT\2;ZJBIJ5^N)3[-2?]Y;@[];$HX'L[QZ/Q\5%WE>'2<ROJ
M.9'$:I.J) UX:S)(J4)T1B*3/9S8VP#I2CPS/QC/=J#4AE7LG^>8QDN((U<T
M<E,\B-KQ3&6NP?M$ZVXJ4D3%Z5OKL^97G[\267ZP5//&\N]QX5IF&2\&>G8
MOA;39R4Y,YJ#%K7+:)">(CWMP# KO(_(>.J_SN=[Z%9BSX^?.VZBO#;YXC]F
MTRJ#Y77*)* 781&ZQ7SV^;!F*R6-TZ"#K)@E-/7,(_<)"@^.9<Y#QAOM,+^3
M*;[G(2LQXD=*$K<2>+N#P83F1O/6=[3>S<=I@?FLN>OU%ZZ\\RW.Q[-\F^%I
M<EP/M?[Z-1V&Z2=\%Q;X:RF8%B-FBS4% VBI2'":D>G4*8*-/-N04HBZ]2G3
MW8ZP02W"JB1TZ&1VT4 (RQ(NYL Y%B&+6HY*RY+ 'B[6WJ@P>L^W;@^7XW=4
M0O2A_I:E,G?A.W62K^/3%-:7Q#SD4@B?\_6^ Q] :"&C9\Z9YCU+5D<WI&KC
MQT_/;=7?-SU?C:=AFJ[CR^1D18XT7PHKM7:?T_11$03GUK+,F-*M\SVKHQM2
MV?+CI^>VZF]&S],A'I2KPSZ8;B7@$<6=6M1++DEFM;VI4> S6I 8LR;WU"5L
M?3RJAV$,Z13S(R+\O@FU#\-MI4@E)H1@"^'C(5+LA05*P&*\#\Z)'NIS-S+<
MZ\N!'I$0\S(X?-UUQ_3Y>%#>'X8Y=A^G- V(2:2E\4FM-5N^_ O1*]>69#CM
MPOG&;G=!N"L[OMU(&!>%]PZDSZS>LFTA<"4!>1!D]F12K'7%1J\#&E*0T1.#
M[[A6<B $:=>Z+GQ;IM=K_KW*;IJ[J[T\#7>>&6G!%472\F2/7+ &,"N)6J)W
MO/49V/L1K1D[["6+V9QV[734G#>O9O-W^/EX3DM@1W/A*BXBK?**22BV]I97
MM,!&[STDF3TF'J6PK8\E/HQJ3>?^A^)/(UWM(Y\A:EA0.WH:$2VHF I$:3@4
ME:4+G.686V^];9K/V,[OJ.4:OX=%O77I6[W::S:9D)-9UX?K11PTY7-B)0(:
M56^TM@JBL9EF?M2&QN*-:=T7:0.8C\!'V)9M]_D(?2BSN07_,'N>* *9XU5$
M*N1DLZLA2(W0:X>P4*]Z210/)<,\FMYL]UUX'L.JWYQ(K?33'V.^>\WZ*-;&
M&Y$6*:9I%5$9%03' UB/M>N@YSHV#W961O<8?(#>V=1&=WTV=;J=2 G3?&42
MU+!J-KULF'3OFU_69O23S1I!]0*D0?.H_@74J.'4:O>4.DY>:'3+Z"6"$D*#
MUV3=7%!1A'JM'&OMTFQP=^QFH[]GV(),N"\4[-NHZ^)?.)ER%6M'3I.EJ<U
M^MB5?QQWY;9GSEUWZ#;23K.%]G>:M=]^#_._</'JF*+]FZ BRX8L/X,8&8)R
MBH$W 0&YP*@LJJ1;[^X^ &EH6[K]<J:E?IH6$XVBCD44\@EX8G7C-P=PV7K0
M12=C79;!M<[7U><.;<NT?Y.QEJ3;U O>L82_/YS-%Q]P?D0#?C.;?JH_7@T3
MO%;( T^0B'/UZN\ 7A8#243FF0M:WKP=ZSMEA.L_>S?WS0O'A$Y>0S:LMJRA
M+Z&0>2:+K:)'IY1L?GW&8[EO?A>DV>Q&^G6TMK<;Z;T(2:&3$',0]?Z^:L2%
M L-E$9('(43K%,@CO)%^'R3K4Y/MFMS?,>B8HI5$?$#DY$P&;< I$X#&;')"
M*5AJW6?F0<N\G\5Z'[395B/[S'6\K_*<?YN5"^Z74^[O*,6QSO-WD-G86!R-
M$AHW+=!UNW-VKJUN_'>+7T(W[D8I!B>+,A!3[1U22S.CIY]L]L(XBSS+UD>#
MUL6XJ_5UY +//!<-15D%2H4$P90(,O,0HZPG+OJ6Q?>P#<%MVPG'-EU2UU)>
M;Z[;#5%<7A'YVWS6=1^G<PR3*IMZTN>7:AIJ@\N1=-DA"0BXKKU2/5,040E@
M10G%F"XQMXZ-FP ?@ILW"%+VK_:],[;V;;B$;DP.*2L-)L;:V<.1=^*=!FM"
M$=H')\*.5XW5@ ]J@^U14'9SO>_3*[UCWF%]RZLPGB\C_8Y&M">/M16V'7BS
MO8BQD:=[@\ WZ'T=]/D-85=HONPI'+0PS%D#.J9,/D-RX(6/8%E)RH<8I&^=
M26D >_O6$?=!J)=-C*?'L^/N;C!OL.L^'(8I%[_3.P^[FS+U)#R-J" 'B62D
MHH6@,P?-N0H^\DAOV*E,MQS0D#SO77/^=M.+H3"G81^5;89T/I2#><WAX/SF
MD)B,7IML +DKH 3Y>3$BC4LJ89,0GI;M04V&!P8T)(__<4^&ELS9T62X>R C
MI6HI=I8@N-<T;8V 6&C:,B]R*,R0;]3^OMSU<0[+4(P49URSVK#,:T_ZK??;
M%J-K;X]"/Y@@5.LV#6U'\-C7Q;5XV^_<7XL, UGY;B[F(\.SUX4E,%[7-N;,
M@$>E0 H;D N2K&E]<K[M"![[VK9'0F]%AGWF"4Y/2H]/+@Y#O*0%N-O;9M86
M<':0#6@EK)ZVNKZ[,^"-=RGR L;(VM2A!/#5E7(98Q18=$C-FVYNM*VS9MG5
M_0\Y4U*=S66!\P]?9O\7P_P\_4SCQ.7O%ZF<46).2HT"#,L"%)<*G*Q7IK-B
M.#=661<>8G@/N(;D9_1"N6N=X/:HTQW5,UV.H5YG.IX>3)>@+S'70R.84R$7
M2%9G*%GPMAAPC.#S*K_>]Q;60SPDQZ%7ANY!P6T*5->;51?SZ'1>O9H=SV],
M*Q4%ER9:0"UI6K%,8S&9093%T91RT0G3@ZE\$-@0"JB&:BO;:G4/O+Q ?#8
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
M7<)#4?4,:@"?,"GF4]$Y-I[Y:T+<UB)^YW&WGE/O$4FCQ(.)65%H+K@ %;T
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
MM"LY;EKBUA9QHYOH;V"YNQ1<87F]&LNUAV@L%N="!AV9K>T!/417K[-U,:?
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
M9K>M3R#P!N;+*W#K64_O+")!2^@=[^D9JN:=5?EXH;SSK_2\*%_4A2SF*^O
MLTT:VG*4DC\:X:TOYZKNRER]9M7"4-?RO:H:7\[;)OW3+%$2Q3&)(&$$0ZR$
MA"R.A/DQ52FBB2")5[Z6(%)-C8ZL4G"M%5ANTPBK3B]@OQ4@MIK9(&C5Z08>
MS;ZNB88$W_7*I1]FI-UX;O3Q&WH'N://;@+HUWLC]W)_Y-9:V2"A-JKR!K2:
M!70)" ET**^!(#*-ZU@0$L8#WX.@C5_A'_G&G!@6=X59-/;\^6+&8H*XAE00
MLR_,DQCRR'HJI!E-<9Y1282WB^3QOJ9&R;^4"VCY5M4*L+M*J;Y9^T] Z\:6
M@0 ;F -;R\)6S($=)L_C$=)G\D1/X[M-GE?YJ.?DA5=ZF-/>EHN[3ZIZ>+.M
M8M%]S#B62#)%(&9I##&/<DASEL%8T@P)27A"G#9YY[N9&D580:&5%+SQK>MQ
M 4\'XUH0E(8^+1H9P5. ^EC73B/E85X+@MA(]K7FTZHM<CLE8[X/9%>[",19
MP]KIM\>SK%W48,^T=OGI("XFZ\B6-2=22F5DJS+'=N\D,(%$<0IYDJ1::I[$
M27J%+\E^;U.CQ@-GAMZA?N=!=MM%!8-N8+X\A]H FRDG6(9QZGC2UW-Z;QQ7
M^X*;QHF7>D8HK_A2_6-E>.GU9_,?F]/S]FNQG"52X$1J J.,V:2;F6$0;@YC
MJ9 1SY3&,?<RG9WH9VK<L143-'("*RCXW8KJ:94_!:P;:P2 :V"^Z(64?V#N
M>1Q"A=>>Z&7<(-GSJAZ$NEYXO&^23U[O%.E:E^\R#&2+S-W.Y^47&Q]K?GY9
M*5G4EH>Z,+E92@25+.,0Y51"G)DC&;6)L:C-)(A5FB1^UO8K9)D:K6R$M2ZL
M0#3B@KF1U[]\??_Q<6.>D5 ?F)VL%CL6\6,5$\WO]D:E50=8?6[6T;<A$YE>
M#6NPO*?])1DY3>K5D!UF5;V^R;!5=&T/'Y28L^6RT(5HCO;;VHC6"G_[[N6;
M3L!W>BO\NFSBC$6:4!TQ&%-F+SGSR-!NCF&NN=9:4<YB[)>K=3!9G0ABU)2N
M3]6Q%V0+58-*L7GQ7TJ"[VPEFC\U7 ULO9I[!9IJNN:Y\S5VS;_K$H@NBK]L
M4[N5BT"U=Z__;!1CBDG);<%+"C%!&>09XC#/<RT1QERJM$<IJ2E].V.4FQKN
M YK*A^)Q6?1LXSZ9PLP'G\-6U_8RWFK;;#<^=A_![B9E6ZQY^&+,P09FX#+,
MU\LYB0+,P>!V+;T<KL.>AB7K)/!!/9K)=\^6ZGU5WE7LH:O!Q&0NS-9$0LVQ
M.2IJ02&5&)G%!U'"!=9YYI4[]%QG4SL+-K*"K;"@D[9G;:RS.#L:FP*A-[3%
MJ3=P_F8G!T1"V9[.=36N <I!Z0,KE,L[UWB/[^=$W@0FKO-TOEJI6VUF[5\5
MJWXTW#=#68998JB$J#R'.$YSR'DNH6&5& DJ!$V\"M/TDF)JE//)+!&*60G[
M>);[#H$;Z0P.[,!LM/9&/\C-OA,O;0Z 7#5IF&Y  S^PB@"K26A7]9Y !G5B
M]Y7A&=S;>\)TW/&];V/]^/#U/U:F<;O3*Q>F^6Z%UYQ$4481S#BF-GHFAXQ*
M I%B2N64IC'R,KH?[65J?-8*"392]MPZ'4?4C;ZNQFE@>O*'R)MXSD(0B%B.
M]S$J<9Q5\RDQG'\XV!5]]ZD*RC'FG,.(<S/Y8XTA5TD$I=8:9UDFF/;*%7FR
MIZD1P(G+YWX'J)/P]KZJGQP;],0KQ'7],(>FD_T\]Y7]A>/2Q1?Z441K\OG$
MOGY05G2S#6GL/2_O;:6+-XM72JNJ4M(\T/ICVYPNK45H?>4UBQF.B4P32&-M
MN(0K#%F,,424D%@JE&GIE1/R>I&F1CI&H\IN]&Q*U9I]!>JK+2:A0-56DK"[
M_<]K)0!;:^%'1@$&THVUQAV>H3<[6BM1[YCC;0I+6R@)[&MW UK][ BN-6S3
M7;8Q(QLEMZX!X6/CPB$?B$P#"#0JZX8#\"D]!VPYG,UKN5/\!;,8$42@T#2"
MF$EDLP-2F*19DK$XT\(O-_CY[J;&OZUXUUNPEKZ55\+!]#PVJ27X?9"J*6ZX
M#&AB6CY3/1,WQ5V,1D?>"IEKY6VQ4&]J];"<22$4CI,8(I$D$.M(V\PKUK-;
MIE+3/)%^V44O]#<][CB=.\0*#1JI@R1>V6+NPRY!D!R)7OJ"&"@+RP$T@V9B
MV?8V@6PL!ZJ[960Y?*T?R;PWG\,OY@-I AFRA'!%J(0Q323$.8DAE1&'F<PR
MG+%4\,BK$MUNXU.C#RL;L,+U"@79@\V-%/J",3 #../@/=6/*1QH7N\U/>HD
M/J;4TQE[])F>29.>^#-O?7KV_9YG"68IXY$Y/>0VARS2")*$9-"<HE.BD$RI
M:=4G+Y)CQU.;UIO2;X"U!@!6 VUS7%L[CJ?EQAE\C057,5*081LFPU,,*8D2
MR#654B$1)YK//JN*E\\)_ZX  P[ T& S)'F>I=1>B9C-KL8<4ASG4,<D9RS/
M4(Z93X+I0;[T$7)/#PZTV[(V!'P#+WD.D40!\V9YXA,J-99KM^-FO_($XR#!
ME>_[_5;=_U3RSASGS7:[N%LTUL#N^I!&Q&R/J2$;S!3$*<\@BU4.$<IE%K,X
M(<SKR'VJHZFMJIV<8$?0GE>S)Z%U8YL0@ W,+KVP\J:52T $HI&3W8Q*&Y>4
M?4H3%Y^_YDK6>N&WJ?06=;%8F7[>;2+!WJOJE<V_IV3C13LC28(1R0A$0IJ]
MBK2EW6.S89$H47F>J9@0KYK WA),C4A>L&4AP'>KI=QF&?7,X.(_"F[4,BBV
M W/.?C&)+D7H6@&PU>"FR1#:*=%F"@U]"]H#P*"7GC[]/\,=9P]XCE]I]FFH
M;P*)==WUC3_LRW)N'20J-O]0W-W7G\HF+*EX>,F6]^^T-@?O61XA+A*1P"PR
M9S4<<02YD!HBFA,5Z8CPG/0(1NTEC--,'3_0]*?*1I"RQAEA"<I&5-_<$7V&
MQHT/AT-ZK%/>6OY=__V/*_XW)6KKV?,S6UK__5]4W=RKWE:5]0FP?MZVK/):
MTQO0Z&I?Z+0%5EWP[OQP]<@F<07<P?)(])%AY P25\!TF#OBFL:NNW#ICCTH
MBC1!>6P& T6&)H6$))89E#I+8\I2+5*GTD''FY_:]F_GLJ'7Z?$)>'X7+Y,[
M*7J@T?OR99!3X9/&G^4"YOP)\,13 X8M?E"V)]/H._UCL11L;F.$9AF)&;5I
MLR)NC=41U9#*G$"11GD<,28Y]3H ]A=E:E2P$=*F1]"-F,!^: .$,QX?&C?R
M& ?P@8G&-[!Q;VQ:C9HPQY$C',_".F:8XW%!GMT_S0^P7@&/YUOL&?Q4FPV6
M;?V=MKNJ'^?EE^6F=#O-<9ZGN8":T1QBSB)(>48A32EB"*52$J]@[W.=38T2
M-[+::=<<,AIQP>]K@7W#H,X![49_H> ;F."N0,X_(,H!DE Q4>>Z&C<LRD'I
M@\@HEW?Z4<C+\N&A7'RL2_'WII;UNU6]K-G"UCJ<<<IDDF &XRS5]D1ER(-B
M#5$F2$PP2F/BE2C]3%]3(Y!65+"TLMZ /WX?13%X9)V7 /C7?R$Q0G\!MZOZ
MOJQL)K,_@R2*;J(H:@WQ-L%=LP<#1CW[#W0#S&\?VT"<^;>_@&*Y7"G9_+G<
MPO!G@/+D)J%Y\P>4IS>8(+<F_0CMW+"[\5F@P1R8SKIQ_-B.8R.HV;QM10U'
M9@YX!.*R<SV-2F4.*C]E,I=7_(A,JF+V>E&;G=:ME.;3639D^:YZ7Y6?"QOR
MI_)(<J4H1-+>')KM#V2*9%!A1).8I1C%3G:A2QU-C<):64$G[ UHQ#60@K7
M;HQQ$=_S=!$2M8&YHC]@SF3ABL81IE@J\?U=^?D'TT1+$N8?6VZXV/ HQ."J
MWIH5G)_O60:&%57#,F\6CX9GWBJS3J*N/DF6IDI&:0RUL-5/)<*0,85A$PHD
MB+15Z+V*P)SN:VK$\/^LREK)?_T7E$5_>5\50BW;?YO]Q6T;*/PSJ_YN/7YM
M*LXWTNP["VNWZ.* OVMT \BW7,R9P7#;<02">& 6:9Q)NXU&*ZB-"6H0&Z)2
MS&5,0M6).=/3N%5B+JM\4"/&X96>%AAQK^3*Y@C]3=E;+B5O/ZN*W:E?5K;U
M=[IQ&U@V59^WD;6*X#Q2N8!Y'B<V-4ULR =3\R/.6<951G(O6W8O*:9&2R_9
M7*SFFSS1:TU@ITKK8^,9X=QO>!P-.D.#/K2EIY-_%VRP!KO5H4G!W!X^VR+R
M8)!0Z:N0#&4@ZB7#N):C:V Z,"E=U5B?&J5K@_B/9?6KT;>J6;'XQ+Z^+Y=%
MXVHU2].8Z)1)R&1&V[I\-(XPC&62ZHS$6D8>M4HO=3<U^ML(W.RZ5FN1FV0Z
MCVNA?2IS7L3[/,V%1W'HJ[D-@$98L)&V26'S?A  ?4J<A@1RK%*G+E^DO>ZL
MV3Q8!517G,Y70KW8RH@545TUVJ^,ZOQ6^(H[ZQSW[U55E'*=V.N5:O]_<^VE
M28JP@0-*JA'$"FM("2,PIA+%:1*Q%'N=H*\7:6J4?GNVA,F?P]4P<1PQMWWM
MN.,P\*+@4)5D6U=DD$O.<'".4$O$4:#)% WQ ]"G.HAGRU>4 >&F/6FE,"*T
M^=*V[M,OOFT?Z1Q);K^P2KYK,I<L=VY/GNSB6V\3\WL;U& E7;&YK;0=SP1-
MTP1' JH,:4/; D.2,01%%G,F2)+%B?*N+C*N#E/C^1T5;NPM[3?%*E]#Q3-\
M"8YFCFF/[]!&$JL:?&%U [OZ[\8X /X-[#[7@0 :%*RK8+=1WOM,#BPN&S3
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
M\J63&Y1\7MPQCWQSCHB[\5H %$<K-;.0]D1G;_%>?ZW5PO)8)SY8RP\Z!6[
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
M$?9**7NYRZE1O1'4.F.TDO;<Y)W&UW/3%P2UL3:!-\!BMY'W!AB)K95[+?,
M.\.+^(3>*9[N\'EVCA<!.+F3O/QF?QM6T=;VO5W(;99LZ[12+,6\7*XJM;GC
M(;%D64PSJ.,T@1BE9G])$()ICF.9QE&6<*_ 7J_>IT8].\(#MI!@3WRPE;_W
MM9O?V+C;N 9!? 1K5RBP>UF]O$$+:/]R[WMT2Y@W+,=L8OZ-]".[C6_=MN6=
MS%%YQ@5'&$-)<VV=Y6)S>$XE3"D76 G"<N&UF3K;V]3(;"?;R<^*65D?_+-R
MG<?7C:""H38P(>T MB/I0"FZG$ )1#CG^QJ58)S4?DHH;B_Y7_M_JI@TU/3Q
MVP,OYS.2:IYH')M-4)[:W $$$J4R*%*184HPDZES[H"]EJ=&#)UPH)7._2I_
M'Z[S<_\J$ :>YX[Z>UW/']6UUX7\?DNC7<$?56#WTOWX WU];7XLYJJ-:)OI
M/,Z0-A,M)22#.)$(,AD3*/-$YH(IQ9GP<[#9-CZUJ==YBE@!02NAKR?-#G"7
M9^ U< P\"3V0Z.$G<ZCR%<XQ.XV-[!%SJ,:A&\R19_H:)_>+R6P7V^V&C^<Q
MU8)&$(E<F0UUFD$F$O,O1;5*LU3ERBL'AT.?4YO"5Q:U<D'9U489%+O!C91/
M:U/MGO 'V6)[ !3,2GFYQY'-E,X0'-HIW5_M>78_7<CJ]J&LZN*_FBL9F_AP
ML6Q"Z7XTG^,LBV.:Y9Q FM@<7X3%D- ,0ZXERB--<L*]O%_ZB3$U6C+?8N9Y
MM.\'O^.9?W!0AS8&G"NLMY,R=E>;FR;\&UA- AH*KD(RE 6AGQ#CFA:N NK
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
MC3 O?<0R #B#,Y8A3[5ODO.VH1#X/UNR5LYI\?1%?%NM-_,0ARC,2 )P&DL
M69P"G!,!0HGR#&<DBI@P[8]S8HRI^<U6S*"3,Z@%-6^*<PK-\_[.$4:>G9@]
M/%9-<"X ,*C_S:EGCM;ZYH)2_:XWE]XZ@&3G6+$ W0\>.W]3Q8GE\S]MGL1F
MOX) ZJ2/ZJ6*[23AJ0P9S !,D(K%=%H%"@D%%%+&D@2R'!H5E8XF\=3<3K=G
M)<V>]5M=";99!50$ZTX7"\::40Q_WJ=-TIR>/:1%&> N"JRUGCT_*E&*!TKS
M7GW@K"T0K-/C.O6G]JVPH$*:VK=C)#:E27U+[*B9QK3867:G4009CR!J3%R?
M<4R-.O"PHZ*:@;3MG4#+C6X*.!=44I0+#H@(5=0!(5,3**\:>89YPB1&V(K*
MXN@H4XL4VEX@I!+V/^Q.;([C:'80<S4ZGA?>MCM>"] ?K8P.#TS.8N#H'.3X
M&*,>;YQ5<__4XOR;!];_J?!7^9;E?<6#\[$@M%@4FR?EA%C37!:2.$>("H"A
M[BV.6 *H^A%$&8E2PO.042MBNHLC3LT/*,E (UJP:H4/%EKZ8-&(7YBRA)KC
M;N8KG*+IV6]TL@8-<U4G;A5[,5=-?JVQ<54\=W&\<<OC3-4_*( S_N PG_/[
M4CUPH=/:F"B^ZZ/5UJG-$981130#4:0+VD0& 48\!222$>:13&-BE<9[>JBI
M>9E6TF MOHNE:5L< TC-_(@;H#P[D ZCGI0S=\W!S;%PY##.##2JI[BL\+Z+
M,/B$G6\HUYOY%WVM?O.C*.=1F%*9$@$DX@) DB) *$4@36G.8I@E<63$7_GL
MJ5.;\3H1L"@W!2.+X#?E:;?K)N%2"VN8?/H<MO-3?3 8OJ]KA^%@/*V/ZGUN
M!JL/]&:O^FTW<Y\_:Y1)>E3\=CX>_^/0WB#5PO->C?SNAYH 2[)XLRTWJT<U
M%UX__2I6]VOR[:%@-VMEI/T4$:1V 302(.;5A,W5DIVE$&1Y$L(XCL+(CNOR
M"EFF-LT;50)MT:!5)NBTT;EY.WV"2B';/B3#[686'(QD#<]^9H AO.:$.$#5
M68N4X9*,W$?E:L@.FZU<_T@WO9AN&-L^;A>:.N.MD 4K-G,A8\I(&&G.X!1
ME(> $"8!SV0FXI#ET([1[?*0T_.>31LBX:1'TQ&,35V@2^2\>[K]WDVO>O(&
MC<"GBP6N;N1T&AU/39V.#/BB#9Y. W"IV=.93P[)29%2Z!RVAL+HCOSXHIZL
MKXN6K%@438LYMMAR-?;;HF1KL:E[$7P6ZLNXW,PC N.$9@3 /,^ ^CD!:B>6
M@H0Q*'%"D4B-:@#=B#,U]]0II/G;@K4N?!"M_ %O% @*K4'P2L431*>;:$4,
M*W4<&?&\CQO?-)[]W\XJ#<&;TB;0Z@3/]=$\PJVQ6I7J+BG5S3X[=ZKDPTPV
MV1QCFFNL5(T1S&:9@>$*Y?/I%5>/,F+NA"M$GB=&.'OJ\.9<O88\^YR_$1,D
MCUD$9 :I6@@U@Q532R(324YBD@L4$=O>7*>'F]H:=[>N#N6> GWD:QE_7P#6
M+/9V!Y?G=6>_[Y97)F4S5!PVWSHSV.B]MRXK?JSUEL&G!F9-,::[#I2[ZY!/
M8M->P$4PD2$E&&1)$@&8< 8H3A @>A6(542MO(M5\M29P:;F.UI9=6)U(ZR:
M%(O%ZD]=:%/E32I?SHM-H-F01:E+MOY7#J.JK\/_4CL.76ZLOXW5"^J':*8>
M57ZK5XN%91G=63.9^2)7X'OV1!WN7_JX2V7RJB7*#OTW-?J:V];#3:H)6JZ2
MN<X--6Y.EX'2!ZE=)I^YMOCW3,OYFK,&<A9E.%2N";,40.VS"!(Y"'%*(YB&
M-+*+<\R'GIK?ZI>0UK*#2OA@)WU0BS^0+,C<*&9^R0_4OF]^W:%\146N*6#.
MJV\O#OQ"E;:F@)RNJC5^PI4T937/@DZ17RVKJ$YG05":Y!$4*4 $ZU;V!"I_
M%L8@BR(924)BD=J1#I\;;6J.J^%RV0EIE4YB!K"A1W(%F^_#0EO$AA.>G4/"
M-?_9T;%>A@[MG-HGV='.?FB8V[A;$RYT?ZBFH_L\E#R)<B:!S/3=!I$4D"05
M $D*$X*ES!*KK)7] :;F'';RV;F# ^#,/, U<'B>]#O1/+1F/:6WHRE^\/A1
M9_4IY?8G\LGW#9N['152+T-0[Y;4%JE8WG?S.:4\B2. 4HH 3%D&$)8"9"&A
M.42$8V:5/6XRZ-3F^(YW;=;/IE2[^TYPN\EOA+R90W"-IV<GT8>RD]*#O["!
MQ9$/,1IR5+]B \*^K['Z[,A$JPWAV[L?8LV*4F]^]MC>FK^(S^N"B3ED(DH2
ME ,4YA! CCG N8P!RZ *1Z*$$6Y'N3R.W%/S@CVQ U*=*J\K?I<J+4-%F#ON
M2M!R5[;Z!)5"L^ 8O^I(]*J6WQG#_=CTO@F^CY>NIT;MR$][VA_A/7W^W9D
MX>DPF[TTG:FEU#\'6>DP4SBC(ATX_+!5\JV@FZ]ZW:TJHOL=8KZ2A7BS6BH'
MO%UMR]^7:U$W;-<73Y]7945=\5&4I>9(C>+?U#L?RCG)PY"13!=_J4TZC#()
M*(L%$%F,=*O9G$-FLQBZ%6]J:UX5KGZOP]6%DK6F;X[BX+$2UV[M<FQ)LR7J
MY>SC>272B@4[S6:[[EU KM9 :Z?)AEK]@IV"U<ULT*HX"S[V#?O;><-:+S=^
M\'>TJC@6;M3%PP^P^VN$IU&&LYR^+TI&%O\09/U>O5+.D8@%QFD(1)[% &8)
M UAPJG8X+(IP#F,2&_GS,V-,S2EW-)ZUG($6-*@DM:<YW8?SO%-U!))OSVB/
MSR">TQ,(7,5SNO_,T7E.3RAUC.?TU%N'Q7DZ.864#Y_7J^\%%_SUT^^EONGM
MB$,:WF3MA5KJJRRB(I.,@HRE'$"9IH#2B *4)BJXRZ#DV.I@PUZ$J;F&*EM4
M+E9_EG5)ZHY;B'2R6[*.#;"+663F%VW//D8)'U1@M^+K3?\KK4%0+'\)=K1$
M.RV\<)H-!]%1"#5 @%'#I.$ [8="5SSIRI24C\6RKDR8TSC% D<AX 1KXC0>
M 4QI!G 4$T0B&G++YM<'0TS-H_6:QFD9ZYJ<H:DG.R -SS>O@L?W4:0=,L-3
M3 Z4=YU7LAO@99))#A0\F4%R^,Z!Q4&K<G,K?UVM>'FWVI!%<^69L) E.%>;
MF3#* .0\ 2A)$("0Q@F"7&*96Q4%'1UF:E-<2ZFO4[X,82D[@:39_+X>'\]S
MO(6F$K&J5V@IIU^+)7O0N1 >+H_/P^*J_.?X(..6_9Q5]*#<Y_R[I]9MLR-]
MKGNLSTDD*6<< XYCK'9+60QP+"/ 0R0QSGG(4SJO.Q<H?[?>>+X,MI7?9E;N
M:^%Q']#QN]=7PJ_%?;'4I OZEX;)7;?5K*YZR\GTTMS_;B0P(WE"$R!0KG;2
M,1)J)TTT/R_/$(UA%C+>?#?>+?E/_\UH=1CO>Z%&_+F^$9X3 'S:>/HI (;=
M43L,U(\5"A/( AAJN)?. ["6^^?(!!AJCO':DIX28&@V@!3KM2:)K?8*-YQ7
M%TWEG"*:1U)*$.6ZSC"*,X#B+ 08922CF/+$KB+ZU$!3VSS5<I)%G8]6LQ$V
MC,9JD5&V"%J>^6]-A^6EV-1OMNQ =-$$IA?RUP/K_6J]%K'=D<Z"3DJ7%^/G
M<7!VQ7UBF)$OJ\\K>WCM?.']0WC+RDWQJ#G0WJ_64A2;[5IH1ACUV^^-AVH\
MEK[<%LMBM?Z-+$GM_>8,IHRBG(*0DAQ 'C) $\0!XPCF%$,1$B/W<K4D4_,_
MG2X!62ZWR@_)3J>:NTPS FS;8'A5ZU6]6%::!8^=:C:\6-?8\KR?&M5"GAW9
MSC@[/6KV*_5[T*K2!IS5B[4VP6^C6\6&J&PDZXS%4=99:?C<^8LK=C('T)XG
M)KMF@!$YR1S@\)R.S,4#!]:YG:Z<_W6]*LNYD"&):,J!(!D&,*,YP"$+08+T
MFD>01&%F5>-V8<"IK6&54*:D6L,@-HN-70+G>6DYSZTQ"RIY'=:S&2+CJI;M
MTG#CUK$9*G]0PV;ZN2OK9U\_=3_^M1!K]:"'IX\J<E]4U XH9DD6\A1P(@6
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
MO4#C'KLX _#@Z,3=DYVDZ+Q^ZGU-CY769SA+,.<"Q'F< @B% #3/0T 1X9%
M/,-27-&(Y]+X4W.VA_DE].GY3-\I<56VSD7#F'E9CW#[/GRQ0-JK-QT(H9^4
MGXNCOV0"D"DT%]*!C!]S9>%NG:BNZS?F20S#+&,<,)CK:A>IHLQ<Q"!5,6:,
M(0HYYR8)0&?&F%J2SZ[HM*AD'%B>VP/1S"-="8UGK[-#I18O>*4%/-W6<WCY
M[:'ZKHMN>R.\3*GMH8HG"VR/O'78[%8/6NMBW;>B_N^'I4X.62JC%**<QVD4
M(<0$B'1M/@Q1K *9, %A+"%/0\P2,H0LY>R@1M_N\5./>Q+:3?WS")LY@>L!
M&\<=M'(&KUI)?]&Y(2;867L&(TP<^8CS8XWJ+8S4WO<;9A]RSJCY>;4HV%/]
M[RX2#VF6P!A+@--$;9$2A@$)(0<QS9%($Q'!W.BT>:@ 4]LC>63*/&X ,Y_C
M$U;/;D@C^HS;LB_\+*@%#_YH_CLVW^59]/QS6QX??BH\EF?!L>"L//^<@:3<
M__7E[_-0:$Y]&@*>D%AM?2@%..12$Q>A6.9Q2+#1 7O_H5/S2/^U4JO$,OB[
M:6_D9P"=]RY#U?;L,2J-@U=?5]O-PR^SLYK;4W+W5'5!R:T?-RXE=T^! TKN
M_M]<;4$^K\4W4O#VG*/I.7*SK*OGZQ9N<P3#),YQ"#"-]$T7BP$6"02Q2',:
M93*FV1"ZGV'23'33THC>-3&JLFQ7%2M'VQ=]"-G80(L-W>LX,\"+;H):6S3B
M5Z:H"5)NSIO P<[(!D%O6R8C(5YX+V4#U.5-EM73ACG/-Q6O5W4-5MV0E;VL
MX#EG-&4LY""2J=II99KK%N8YH(S*-,L9RTABL],Z-]C48I@W/<*S65V14O:+
M5H)7:D[6+Y\^KK2'W,S'N0+2LR=K,/Q:8UA+^JPFPYW/,D'$D6<Z.]2H_L=$
MZ7TO8_29Z_CWYU BB,-, !C+!, $1H *G("(9'D<8811:)5$U#YX:C[B.F;]
M>:PV@B03#(@8*JPR(@'.<@B0%'$>\SC/(;+O6C<$K)^T7=T.29+#*(L3D B)
M <0JH$>0QR"*&.,Y3L*\Z_]GW*=N.(X_3X.Z#D"S96<())Z7F(M3<'";!L>K
M1O?8%VG <&HU./C[,,__V^I[=6SV8=EV#/J\7O$MV_R=Z-2"S=,-8^LM67Q9
M+1;O5VM=FS9/(<K2'%% ]&D8S"/E^#B*=??.-,90JK]9E8<,D&%JZTFK@M[N
MM4H$C19!JT;0Z!'\H34)&E4LVY\/,9B9C_!L!L_NQ(L%K%W0%1@Z\E9#)!C5
ML5T!T;X/O.91 _B2[LB/)T'6Y>J;OD 5/\ACL:QR4>G3AZ7R,DLU4IV8]56L
MOVMR 1:I  :2#) L8BJF#M5/+)8@QGE">0(9E^:<F];#3\U)ZNJQ2H- JZ!+
M_7M*Z*3%5HV.BJQ1Q(+IQ]Y&%VXMO"/OV2].$W0+=B6OX(]$KN3>"';$2H,Q
M/,NK9/_4\6B5!FO\C%5I^%/<M[JHSWSF,H4PQ3$") K5ACG47:%U=\28H4S
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
M9F@Y+_FZ,.P+E7J9@7&ZQ,OP\]=&?.])L:[J,%1T>> /G^8A3$(<80$PQ0S
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
M/"99%-O='OD1='H738TN 6N4T1E<K?P!Z12P/*;U9&8D69Y%(@)AAI2949X
M+*#NP@9#$D=A1I 5@?G+&WF,Y=?0Q).PL-G^Y>7MYCD2J$LZGVG8WD&^TDK^
M,@M:J[:*!CU-J_U.3]=@I^Q,-]#4>U.EL+MMCU^#.-H/>1)RU(V27Z#W=U">
M1QM.ZU[4BY(:2=//%,M[)8+.03UR'<@9EI1 !F*4)0#J<RR,0JDB!4I8S%DH
M4ZNFG7;#3VTMZ$E?.8EG\ML3NUO8P?!DRANZOH^BS@'K_[YV&&X.Z=\M!A^=
M"-X>F&.4\ .><EW.HGIXT_2]8T05+,,94[&OR+$ NC9-^3&&@53(B(2'66*7
M0G)ZJ,DYKB;)K==A_3^&);H=@=7,-[D!R[,?Z@DY"UK07+*ZFJ/A.#_MR$ O
MDHYV6N%3V6=G/G%U9YOZ]K=A7PLE2T6&U(888J:3:"5 +)(@1'D>,R%YALG
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
M.+O?._N \79O)GH\VXL9?>!ELI]OMYMR0Y::AK))DB5QF,8LS$&8$@Q@3!.
MPRP!,J'J_R<R01#/50A7K/C7#5EOS"(GYW+:3*!]:?W-H9Z8+Y/T?&C/6(@X
M96HG'4>16CZC* 68,0Q(FF,:\HQ2AAI[OEORG\::K:S_O[*E64#^HM;QO-"[
M3&!_9N"I);"?-,)$$M@/Y?NI$MA/PNLZ@?WT0$,YT?2MZ?K;:ET)HN]2Q9NZ
MO=F;%1?S$$4QCU@&J$AU\9)  (M8 @R1SCHA"4JP'37:V?&FMF=J*+^>R3RK
M$A6$@CEH) ^TZ+9L:>=Q/^^:/:#IV=&Z '( CYH1/%?0J9U__LBL:D;*'I*K
MF7WLFC2W6_GN!WO0'DYG9MPN=4=3_;]W_[,MOI.%<G'E%U%NU@7;*+^H_G"S
MY,]?Z+US'N8YB:7R1DF20P"I3J?(2 H2 ?,,LS2-,+%/>W,JX^3<6*6BOL#0
M]W'%O>;&KI6M<N*"^N<R4(%/U:-9$XU5/XB=3D,2Y]P:WBQ<?6%S^O:CG25;
M_>JT.F4Y+?2L;O[<DWT6[-1JWJ*MN_?B\T_HZY-BN:U[G(C:,3AL$^W10DYS
M\=Q*^ *Y>5X@/IZKYV>HP1VUU+=V\Z1/Q39J'/WD;SJ0_B0V<Q8FG"2,@@AS
M#"#$&4 IBH&$5/*,RB@D5M7XYP:;VC+0RCJKSF$WM2<0K<"S8"DLLP3.(FWF
MKEWAY]GO[J"K!*V0>[=#[M,9Y(9T?[H(B;OF3:>'&KOWTD6EC[1.NOR9@5T^
M:Q>UYY@ZRJ$L2<(XXA#(C.CBJ#@$E,0)(!',<$AH2%!BXT7.#S<U/_*FC1'W
M0X?!=+\7X#9S)>Y ].Q,KL+/OL&G$2RN>GR>'VS<-I]&BA]T^C3[E)U;*=>;
M^9NF>JQJ8AUSDI%<.1"$B4XEPJE.0,@ 3!!G&4Q(&!JE$NT_>'*NHI'-JOGW
M 5KGY_\U&/B>Z8;J&T_J4[J>F[[J,[VIJW[;3=N#QXTR04\IT4[%DW\?2#G[
M+$.P.50OYS**LRP1*<AC!#7G; (P05AM!R(297&.$VZ5S7=\F*E-R%UJZZ).
M;?W6"&K)0'L<4[.%^GJD/$_;@_S?SY= LB>A/8N!*Q;:XX.,2T-[5M$#'MKS
M[QZ8U<(>!-\NQ$J^+Y;%1GPLOHL#POWW6]T6[N91$\W]J]](KDI'O!,_-J^5
M6O\]QS)1:W0N010FD:ZZC@ **06)<A<QE3**I%%34Q_"3<W9M+KI\\J#QA6S
MH-8JZ*O5=MVT3(UP:6##K(@7,IOOA(B>Q6K%0*69I?F:!.E JQA4.KJDBO4
MO:LT")>BC9L!X0'4@^0''V,,O)A\_+98/0G12Z)L,G(C",.<" 8RA'4S.,8
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
MZ;NQ\T+^')=D1D [NRTS&\WC8<<=^?%:+(4L-IIMK/^7MC=4B'".(:ZZY@@
M&=1->CD'29C+7$ 6$F9U8NM&K*DM%TK@@-82UU2"(QUE7+:?PW,+IU9YZ4.*
M1N29II\)&K5&/H@PQG/,4X?+0DWOB,$8R$'G">9/?_&X_X/:5Q?+LF -+4Z<
MA4A%^  FH?+=&6< (2& )!+E6'",0CM^7U^23LV=]P2=!;N,WQ<+_??L.GKT
M/]Q:/^<&8!9T&KNFGO%NE>GM O;D_%DW L?A]K@7.#'@P"/JHE1/H]N*8+BX
M?]B438L"QB0B24) F&"U4O D CC,(\!Q##$.DU@F5M6OIP::FH_ORZESYOY<
MK?_;]D#Z%*:&9]$.D/)]#-T'J9;184<(4R!<'3Z?&F;<<^<+RAX<.5]ZORMJ
MK2;OHOPBF"B^:W;[.0\ARQ*! ,L3J6N_0D!2 D$*1<)8%F*4POE2W&LRR+MK
M:+4.QS::!+B>! <2^)L0K:#!NI/T6E:M([B;^0]G,+XH?U:'Z)?+B#I@S#H-
MD3>:K"-#OC WUFD0+A-BG?FL/;?.5\&VZV+S%,7TKMBH;SX6:1J*. ))AB,
M910#@F,*9$9RA-(0)9D1@]^QAT\M JF$TDF@4?R*_A*TXIKSZAR@=]YO7(N)
M9_]@"X<5I\XIO0<1ZAP\;#0VG5-J]*ET3K[';GJR^^4/7?GY;;74Q)ZW4C-]
M[K-]+OF'*MFFHL2O.N+T:'5H#%'*<H DH@ BM<4@DG$0<8BB7$F7A$93^5I!
MIC;M=ZI4S1B5(K-C[+=+74#1J63F%*ZVV7D',J8E/#N;GA%N:R,<V""X>6X"
MFY9/;JW"5ZQJ.E$=)4S".L\D&FNJ5"S;^U3;U40I=CK]Y?KUPA60]=JBGU8M
M'V$>)M42<O7S1UEN7*'0+DW.GC=LO_MYO6)"\%+?X7Q5H_U&-M4J635,72P$
MJT_?9&_\.>,Y9IQ%(,TTR9)D&* PR0!&&9."1;',K5*G!L@PM<6K$5G7T^B)
M5RHMJKE9V"Y5U]C%;'OL&6W/"U0K?9U.H.6?!:T&-6%^IX/&WR14L-X]7X&@
MH\WT$ E&W5M? ='^5ON:1PWD?UJ04CWP;ET13#U5!"^5TYWG%%/&(@XH"S&
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
M<IJR1.I4.A6<>8PY-BI^OURIV<,B$K7UT9[YT9[]CJ5H/N@[$'-X3/L.]:[
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
M1D?1FYZ.JXXN_@I2-M<.E2Y\JJ,.]H87ZE\;$TJ\L_%$I:"O<:99+#2(\TP
M3!2RFM4$P!3JA"/-*78J:6X;9&P/[\[&J#2R8T>I<W"Z/<FW@M3S\^R-C[]8
M<@L H82-SPTQK AQBY,G@L%MGQU8]KXBG;U3['*;X]LC6QRH$W]85)L6TQC&
M.(?F?8]9P@'6(@&,:PQHFK(XDXG=IAY$]M[3\+'14JU=_M-L40O9_SR0DKWO
MA L5QXJF&BC)S3L#RAPP,]D@U2KFJ5D;,BPZM%8>U;P/W[6YDK?GCC+X_)P,
M?AV([:<D556E:X/%B4B^N<\J0$9ZFSF^2\=TU_QI&B:$OE.&:Y?0<=I>NUV"
MK]E_CG8)'2<C6+N$KN,'.U?9+N'31#$N% $HISG *),@UX(#Q&B6X20A*B8W
M'JN,=2_D_)%!QYV1-HP['[2,<,^D*V@A3EEZVDYI&^FUSUBN;;2X?*6KDMPW
M]OV#-%>?Z5G5 *UN")43G%."$8BAH&;Q)!C@B<1 0:5ABA'.D-.ZZ>I(8R.,
M6B?-%N ?FGNM*9,GP.U\$12VOG=8NR+605GN"AHWJ,M=NO+ "G-7'#Q5F;OV
MA5MKIHIM9=;'K6X^3RB/&54@5U8>7&?:"A?D %(,%4]$@I%7/-$ZVM@(XJ!_
MZ5XI8?=6!>U@NP46P2#LF2QN0N^&ZJ,65(+7%YT;ZY4JB%K<OEPCU/:E#E5
M)]V\?S/??S3XQ8V(@LPIECH%&<3$%G%C0!E3 *=,9YGB/"?"N;3GVFACHY,S
M;>=+BR-KLD>5QU64VWDD.'8]\T@K;%T$#J_BYU'Z$A+'@>I9;L33KT#%%9_6
MJI.K%QFNE,35GX/Z$.<O=93-6*[4[&'Q9K-:J87XT:CBE:IW9XKMIPQ!D@J-
M@,!4FYA.QH B3@&A4&N)4\/(7@=EGN./C9;?F7E?/LU$]*CD0]FFT6[I1:(1
M%_34UO"<#+>8KT>(>V;OVO*H,7TK/CII^L2<U>@(J,O1#;I04AV>HP^KWM$-
MFA-!CXZ7Z9A/8)ME?5%2J2<E[U=OV'RNY'[U0KE%;[.&-4YRG@"<I=!J<"K
M$[-R)9BQE$BM8N:5".@X[MC8K;+*MJBO7T$R8NNR+O6&$W['*7 \.0T/;-\'
MGV5[O<;DR/;U+8V.*JOK0\I)=? 9,-W8$ZE09XV.HPY[5.@'Q<E)G^?7NU'5
M;^S[[&GS]$5925%SZ:9%S+T^HLR]!7DR12)#3$ -%*+8K)$Q!EQ(!%BN5:IY
MBF.W)KXW63$V&MM:'STU?966VL9J97 AFN!"[ER(?MH\1^NE)[5UFS(WHNM]
M(GJFO=K^:#<7O^W-Q4F@M^=%. J\"<- A-C-AD'I\2:8CLGRMHN%DE;_9.[,
M6@(\2Q74,DT!Q"0%.(D9R)6( 4,ITJDDL7([L709;&Q$>$XU?!)9>X,)K>\A
M[49LH?#KF;]N@2Z [/HI)KU)K^\-]<KRZZ=.7Y=@/_.=#F<17Y?F>GRY6FX>
M'G]C1<'$X\8L2-=-QYD<9C(6,@,Q3 7 V@1</$$Y2*WCB8Y-H"6=CR*N##8V
M$MDWUW:JW#/88Q_]&L(.QQ !<>M[S7<9LBYG$->P\SB""(CA0"<076X_OV,'
M1TQ:3QVN76.X0P=';P[.'%R_TX59R[6Q0YYL<9(H6Z?#OONN5F)6V.JB#XNU
M6747,U'N$DY5KE.S^LT!PL0>"RL(&$D4D!G"$,4I51RZLW)_AHZ-T;\MUVQN
M.PQ6-D8OUD@?/NIQ3EW> ^.8J;[?(=5>[)6*B5_JBHGF@P<E$TU-1+3G;[1U
MN#I&&<FT^[S"QC']0[W^JMD](R#)#@MGBOT//M>W 2MO@V5]&ZB]V^#HZ0^E
M,3G Y+2_AWL<?\!W>/\H'K[_!QBOV];.%_6B%AOUWN#3'!7^?;9^;)KZ[37\
MR(@@:0)BG1& &:: 0T4 RV.A,XRY@%X*88[CCNW-7IL=V?MI>W@>_6$LWS7T
M[%KEXCH5;MM /0#<\PLY$+;>FT.>2 7:)W(=== M(T\HCG>/?+_>,<.J;./]
MT7;Q/NDJ^K1<K6?_+LGUW7?+LZK:*#=7O]?O9X5@\_]1S*SH(4E3IC!@6".
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
MA.H?$D=)=&14_#A?3]=??YK.\)>S3Q&7D^ BL9TD1*8D(3IR$H;ED%'X8DK
M8/51:+C[QIU0H/M%P5$2[$+[;_'#M IAOOXE?"*?QS+F,C*B'Q6H9#4XA1:2
M)D$(EW5)L@$";K]U)Q28WE%PA"2[0,)+"N>79,(V@G]'\L?GB[/Y>OGU^2+C
MA-Q=II@-A&0=0!&,P1=/T;7(3F4CI9''13\[$+$33FSO.&DGYRY@\S[\_C*3
M^*9E>IZIN+"$,1979,TT&-2@B'CPSAD2$K%#$N)9E0: >>3U.T'%]0Z5%K+M
M B3/<B85K"[^>C6=(Y]H18*0,0%WD6(IG\A]MBC!LRQ-0*<39PT \L"K=P*'
M[QT<Q\JT)V \IR]?+]\O?IM/O+7(D FPB9/_G)F#F!7)R,EH&'<F"],.%M<O
MWBUUQ9X(*@X4:$^8V&R-KY=OEHLOTWG"B?2IE,02%%MH9S2%0S"INE:94$VR
M$NZX4'7;VW=#1\>9S6:B[0DB;Q:K=9C]?]//&]=):32&1T9:-42[%0)\-K0K
MNBB4*T4)U1 @M]Z]&SPZ3G@V$NO(X*A6[]D2PX9NGQG%W%E!<L8#<:$@2&Z
M-D$A>"*49WX4'&Z^;3< =)SB/%AT(ZN\GH_.WGQ<S"\S,"7HH$(NA%1&MDR&
M""$(![D(XQD3NL1PE-KOOG$WU7><RCQ*A".K_QVFLR5!EXOX?KJ>X81A$>34
M6/ Q46A$?!#MDDQ6I(!)9V5<."Z!=?>-NZF_XQSF42(<6?WOEZ%6H+S[^BDN
M9A,*?VF?8AF(2-JILD@U^F$@3<PN>*GCD3FJ6Z_;3?$=IRT/%UXGB_['W]/'
M,/^ FWQK9*AE00-<*Y*"H^TJ"$^Q3DE"<2Q*RN/L_D-OW0T#':<DCQ9E%^'
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
M?'KVZ6Q6^R"^P#)-4PHE,%CA60"I"KF(R46(7$C(A7ME)6?)M1[M^6VJQDU
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
M?PO+//%99\4\@TS4U/IR#CY$"R1%7GP04?+AN^)M);&30.U 1'SSJGL[]72
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
M[.VMH2=Z$'5=J[-XJ%;G=*=6!Q%RBB.NXR5TFO,P463,*AM DST%1%Z 8TJ
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
M,(6\CFVC[2?F!$Z72(O8"-0[WL%O2]A3JB(^$8[;*O-) ?F*UPO6IU_NKN'
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
M=KO;97G)=E6?*ZX8$!*[4J0.R519Y^D;03('I9*9'&)S!]-E>Z5SW!L!?($
M$!B<KF-\/ 01G;><A>Q:%]SL0]>X[LGXT;_C!-0WZ'Y<U)Q3@<P+:R0('0QM
M>>^)5R%!8LE;9B1GJG7GBN=HZC;><B0*]H?9X2+I&V*O4KK^>$VZ'?/]>^F)
M2=I:5038B R4JP7J.G.0U1NK):GT\7R@VT%EMR&9P6'80FQ] _,77)'A'7)Q
MM+GJR'9:C0G@.!D23$7%1"1?SK:.,#]-4;=1F\$!=Z@XFC6M& 1<.Q-Q[O)T
MT7+N)8((AJP4IRTXD0.$%)CT6OG2/.O@%'J[#?,,#LRVHNQ;)SZRRAV-?4-(
MRO-26P?2,:"T!\?H0 C.:!T#1LRMTX ;D-VM5=D88P<<\T,(_&B,?\9%G(^"
M\F^:!%M>1"J"0?;UCM/)"+X0O\FQC#QK1P(XHQ.^!\7=FJH]8?LD,5^<ZKYI
M.VPR5SP;"P4C!\7H8'2><^ 94[)))I_/:.7N)K1;X[<G"!\CU,M$[KIE<7%1
MLH2U6:+Q0$ZF!)_I&-*:IQRR82:UGKIT)*G=6LC=H?=@P5XD?M=-CZ5B(:!(
MX#6&6@ZN((0LP&510G!,A]*ZB<UQE'9[^]H;>@\6ZV6"MS:J34F%3(YSM?1S
MS>>WM1<%N0 VD3L0K49VQA#%$Y1V>\/:'7@/%6O?X*TQ0V/J!.5DP*X'E=8Q
MJ,X$!"XL%Z8DSIIG0S4(X0[6W;I',!XJIC[[$>^HY9L\V"LGU1Q.^(!5AP\I
MO:T[_(_C&/*/L%B$V>K+O=EXQ[#BL<<T8,*SU#4JN_QU,<_7:;5]W13O%<;=
MM?R.-EA=4($L@M"?:U)-3@R,< $YUUG;UNEU^]!UJFK^^AU?'FL78J)0V4A;
MVY$HVO>Y@%.2SI[H)"\&;12MXVC/4S5N'+@Y8AZJXL9BZ;, _)']?7PCE]T/
M&T83#=C.92]T>0)03$X#U^OZ?T_^2W$6"!:<V90\QM;CA,^AC^Z2Q!YL@=L1
M"0_Z(!2;,\^\-BA.&E3)"EQ2&K3D**2/O(BA>E_L2^,%Z*I#T+2[[GL D5V,
MYGK]@0PV7$YGC_QL8[TUTFI[O&@8C7?H"L^I#9E,7(C:7Y&MZQGKE%I;"A3Z
MI@VLL");7V:?0QO^;?X9ZSR8GV:_D3^0PR(_V&*O4EI<AZ\Z5Z+/(CF3( E-
M6XS) )&Q"!)50)EE9JGUP7 $F1>@$P_!U$.=.+3@.@CJ/+Z@B3-16E,"8)&U
MC(II.DDP0_2**V^%*Z)UN/QQ2L9%V.  >-IA.$8:W73 ?GPM=YOUI^7R&O.D
MQ$)&"P] EDL$92.MS=H$M-RLB%^9I]8]^_:C;-P\CCZ0=Y*TNL@^>GQ=-P/:
M)IZEP UM)8&E3BW0')PW!8+216CCK=2M@]9/4S1NZD4?J#M*.H>CS6_0-L/W
M-;E^R--4E.B+,0Y<L 94(+_,*1F!FR"R*TJ&YB/33CA-!TN-Z -=!TFCWW[N
MK^<?/TY7E9W$REJ_.26W;I:FQ\7=GGA: S=T7UH;^9IWKZNEJE^][Y%F>=&)
MJ'7V8%AMEL=*I".-(61.-E<N,2O5NKG6002>JI/V>MF]N5[*8O"A0$J\@#*R
MSF8FITFB+4+*P$5HW?C], K']0B&P]9#[36@W/H,Q^W6$B?TE'W^H8/JMR'[
MS!X&15Z34F7R@+KBPVL%Y$<RT+EPIDI@3K2V=,^JYGZ]7J0/88EW+]W43] K
M_T8?/UY_?/5Q?CU;;7Y.!A]Q1)EB$H. O%92% ?!:P=2Q;IIBD!LK?@/)O*2
ME-TA"/O&5!M4>GWJN^_)1/Q,S_B,/\V(A=<;_^\('??X@QKHM3TH;*3+'GT3
M8>Y_8GY/&'B5Z$?3U>.X\QP5.08*I%%U_+$HX(7*H&QA)4ME;&R=TW$"N:>W
M4SSXU??&*V13M-81A/"R]KTWX)+-X%SP,KF,+K=6>:?0.Z[V.Q<FOVW*>"8)
M7Y!:/#ZCY*G'#:4B!\PJ.064SDGFK4H@93TR4[80(_DETO*@DX\QL-;M9490
ME.L>6&^O5\MJC-,[MI&DVQ97#](84I!RW3V#VQ3(:BD6@I,96&$LD#%A/1//
M8>RP5UZN5CL$0%^U)!M&'!U<G]YES3S*UW6D<[4.>J[[906RG</5K_/EM(K[
MAS!=_#U<7=^?!X.*K%?&P1AE01%'P=7#@T=NK4B6L>;YJ8V7,.ZUV;G1W0,.
M.M@&;TM9XJIZAX].]3+D!RK.R13)KFYJ$2%JSX 76Y3G21O>.IGE:8K&O64;
M"Z0-I=0!YI[9<C>#G'=L/5R4^>(C?7&/ 82AH$41P$*]:ZJC(4*PCDQI,J-S
MSLB;C]EHOHAQ;_@Z5;\#8^&"_*@3(NE//F\H3VK(^/DI8)59\9A3(KO4*0*K
MX^"T"9!9,<H8 F]PE^]*G?#J;0O8%+V7L4C(M<. "I+,>1,\Q)1\$DE%%5MW
MC3B:V,OURPY!8X-HTQ&R[<!>V"[H>UQ.W\\V8JWSH%A,6MA(5H]@Q#OE(SA7
M. 3OE)5<V5):MS]]G)*+@]\Q,)@WETF7R-JV</<Y990I P9F:^Q7@XO! ??!
M2LNL,LV'.>RB95QTM9#SL] Y@ND=@.>7.9DRFS5@WC;3CT$6GY"L330%5*GY
MWN@]R. 8ZEHPFEOW^WB$C-X@<XQ\YVV9W0%>CE'4/]^V9E4Z.^&]@!23 87T
M6;0E@6?*"4Y:G.O65> G$7QQT<0&A^+Y)-P!G/\6_JS9'7?9'F%UO9BNOI!_
M/E\@[=37UT35+'VYX\J23X2SUO$< 5-DH.@,@>A0@4/K#*,M;&5K]^LH0B_/
MICL22 \+YP:7Z@7%7)Z[_&H=D]GW?4/%;(Y:;P<Q':/1YH(2HI)D"#!E(1HI
M@*<@E4A><-:Z2J.+F,[VQ#*R\!(MZ)@%F56<;/&0+619LN+)1F6'B]1<>/SE
M$.3L/NT/ET,'Y_<.SX[;(I,N#(SQY-EI)6O]M8?B17*TNNQ=ZZN4OJ,J1PAW
MOUC)(9SN$B];MXYH=3(G!UH'VD-<('A/_/%&.!6E4D;_I6,E!\EYWUC)(4SO
M #R/N>^62R8#>>X6<ZKMMVO[8FU A*0<)W_+I=:="BXG5G*0?/>(E1S"[!'Q
MLERL)C<>QGKSY,)=45@]F'J;FVC?.*L+B"0R4SQ(S?8*>]"#[P&$OKH#Q\-W
M]A*Y./[@.8F+8T['W=(\>75UM:6_FFV;'1$"4SZ+"+HD#\IE4J,\!)*CI7^,
MX/G)B]LEIO_Q?O[Y/V[>L4'#S5=W:'B*AG%TQ6G2G#=F;0_P>//'NTEQRK$2
M0UU_JJ.J1-T7FLY7EG/RA3GW5%7<P7"@=XXC_G:2>PB%0]G8@^A?__*?$T5'
MF>=!@S-,;E(LHY21SK(H9"BL:/W4,):#14_O'.=,&$[TA[*Q!]'_[?_\,D'M
MF0_:DD7$0NV3F BNM5FB"S(I;Q2337<]O7.<C-/A1'\H&WL0_?_Z]3\GT46Q
MGG%"!A'1[(2#2,X3U&L99+Y8SYN>__3.<5(RAQ/]H6SL0?0_?O?KQ OFT=H"
MJ.J@)AD]>*4C6!6L2K:84IZ*,!PL>GKG.,-<AA/]H6SL0?3_\X\?)JE8(S/7
M(,FJ)2-%9;)U+0)GC#Q6Z;TS3S4U.5CT],YQ1J$,)_I#V=B#Z/_WNW],K!3%
M&>'!>!5J7Q1&-',%J9#%*A ]9T_E]QTL>GKG.(-'AA/]H6SL0?2O7WU?:PDM
M;B:;U0[5/$7PF2Q5S+$JJA)3:"IZ>N=>HG>7(_I#V=A!D/@N]/7S;2Z#529+
MK"W?L#JI6FGP)4I";TR)H4#7O,W^(V3T4G5V^EW4J3SN"B;K8KA?YE4.X6K3
M9F9B."L)BP11UD:."."CXE"B0R>M+[YY'>Z3!/5RC7FDN'?"YU3>7U :T$V-
MVOSQ&K7I76W:_(D2X=;)0FVI&BJE:$#>=9!X%',446H/=,H2X)VC ];&6@AI
MC69D:N7209%4J\2C6W$L[R7_?1>N:OWE;Q\05S_71Y#<OKN7'7B30?8[O>2[
M+]_>=VZ.-%O!7I0#[9G8I'+[0GR53%ER663 )SW\HT80#K::7E3^L'C^9GIA
M'^CHP$#9D0>B#9J,+H$VM !E/"=S'G/MB4VFO)5,-A^SV6-F52\XV2])ZQ"A
M=0F]K2^9A ],"@TZ$4-48M5GB )DS,Q%28YB\R:B%Y6D=9"<]TW2.H3I'8#G
ML;PAKKUPWC Z!U@&A9I#Y,J B,J8@EZ&TKKSV.4D:1TDWSV2M YA=@=X>4QI
MKS>3Y,0/F9 4KY6@0O"U$J2 29I'8[GDJG4G\EVTC)O,U>E9UT1PG0)PNS6-
M1I4C2C"B&%!9$GNX-!!LM$2L5LRU3B[=3<VXZJN-M/> T!&L[P!$OR[P4YCF
M[2#WZBF]77W Q28:O]KTV]KJ9YV]YL)4^Z#VAE7HP!$3@2?.G+&::_=4XM%Q
MTV#VI:X_D!V#AV\&P0PBG#'ON6I7S?5 &[Q=UG8%Q6H1HTV0F<F;H4E1* G%
MAY#1:,O3@S*V'0U-'WW\N"=A8WPTXF('ZN>>87!K+=S%ZC43P0J= 86@4][0
M!V\< ^ZUTUG*X&/K?A)/$C3N15BGYE0[$7:%QXUVG0AG#.I@P:_'-7"+Y)Z@
M@5QO&C,7VN7A&D]L:.@EH'JR>)^^33N,UUUAY6;4^!1I$:;4P@0'V5E:A"?-
M'DSM#HFDAI/,AIGA './D%[J>(9#S;%<OZ"[UX>=;YNW7-CQ_,%:+.RSG@YN
M-GU@(FDC0293BT/(0?1&9.(H#ZHXS.G)1/L+N]F\>_7M7KW?D'8MJ@F+3 5'
M)@(7M812TP[SM=U49#)&H2WZW'K>\3YT]7(X#HNQW4JPD<2ZF'G\8 &OYU=7
M@71NN'H;KZ;O-^;J_!VNKA>SUV'Y8:-,)H557KD"47KR>(*QY/%(\GR-*MYK
M(1&':VE[ *&]',AC(74HF9XZ0/GWX9P'ZZ+E2EG(7M06?=&#2\: S=YSY<D"
MXL-UYCG >>AR8D!#U!TFB>/MP_DJ7#5&TJ/Z_<;R_3*)9#?7#0&%B3IIW'KP
M3A=PD<<2(\=HAT/8T[1=;D?_ 4_FXR37V>E\NX@[;?YN^O[#JBKR=!6F'^]I
M<H'$+T$[+2+6N6ZE7NH6#\+%F,E#2]8-%\([@-!Q*M[Z0>M0,NWQ=+X?.$ 7
M)<_:@LRBWIO0JH+B"#IXYR1R0<9&-^&:YF5W_>'O4)DT.ZS/,</DB1$O[0><
M[/&RX::?'+K2#F(^7 6KM1!T L=(/H>.$+Q)$$H)N7BI9?.&7%W$?!X1T>U%
MT3N\6B-B^6'ZZ;LO/\U(['A;LO#8==/=P]Y-E__<7"Y)S(65DH'9Q.BXJ.VD
MA=3@&,\6I?4\GR68-LCJ+C?^= C>]VKU/3YZ.K@4VI%@J[A-JJ !7:0#Q5WM
M@A@3"!-I>5'Z@*W-X!ZSWWO%S7[9\(<(L4LH;E-.>-)*<H.0DR/6..YH':60
M?96)*]9AQ+]TR]*#Y+QO-OPA3.\ /(\E:"=16+*<@2G*@S).@"?;GW:8TLP)
M;J5N'6RZG&SX@^2[1S;\(<SN "\[M/1Z/Z'CA9M(O&"URQXG2\-EJT#YG'1@
MTJO<&C=/D-/A/4Q_)V K<?:+S)MMZZ+G3%IPM-_J]%8-/FH&N83@A"Q:[==A
M]W1L]G @-A/[?G Z0@8= .K!*)B;S;O5VU*FX-%Z6"MO%;FM&R[4L@*%RBCI
M6.L) D\2U"6@CA'\PX+K9E+H %)/G@H_W^;-.1F\LR% %CR#$CQ!#"P :I61
M1YZ<-(VQM1]E'=XR]W>F#B#DKJ![LY2WL[OO_8*KB8]%YR!J-0+6XX(9"(DY
M$"FPG+R) 8>+_^T@JN,PR)%(V FV%F+I,V7V'7[&V37]>OW!NF7.,=<GCSRE
MP;W(<[0UNO#8ON8'@MA-I<<_IJL/KZ^7*U)OB]M@+YV"QFBFJ@\IZ#S,#$+M
M@*JT]%QEGKAJ7;NW)VFGZI]G7O,[,?H[^OU_3H3$1/9$ 15JBK@-!8(-'+SU
MS+',O/"M\P3WI6U<;30$AAZJHT&D="E::6TZ''6UN_-9@VBHQ^@\LYXR(@8G
M>0$O:FH)*^1D1HV@=6+9(U.Y>3K&^?74&^+I8A:N;EY!-NJ/.'^_")\^3-.K
M!8;-O,F[36&RHH4; 2PA;8K:[=+7YI<Q%,%<)F"[ ;ER*+F7H<T.0=H3VFQ0
M679@WM]T,'Q;WLQ6T]67?TPS&:UEOOBXENC3G/AU,<_7:7TC_1LN/D\3+N\8
MD9)#+]& S)$$4,A/C\)YX#)I@\G9F%H[LX,M9MR8\CD@WP<..M@0KU*JW5Z7
M=&XB>5.TMU]=7<W_58NP?Y@O7A-!TU5UMQYL>VL",^AU3?<EXTE:#E%+ TER
MEW.)*$SKL.!QE(X;RCD'E,\@P0YP^OWVM5N.?O?EU6(19N_7T:Z[;*"[Y86H
MO*9_P1D506%&\,DY*-HIC$RQG-K7]QU$XK@%!>= YI RNQ1G:?L=6FYX_WZQ
M20*/MS;5EQ/R9(]^UR#.UC'K/+,SIGV67 L)6:(EC><1G-<%M$^ZT&$=-&]]
M-WHF9^P>UTD4;\OVM9L8?U'!<.0:;!%ADW[N FTMQR66I#UWL7E!Z1/T7(8[
M=0A6OE%[K:0Q\NC>V]ND.P\P7*WOSATB]U(8,"A)46M#3I^*=#(H(6V]/2]F
MKRN09^;X[B1@Y.N.9O*=MV;VV(C!]P^7L+T:EYX5YFL?+^<0ZGT/1),="&4\
MF1,!!=_+''L.,;L(&&_8;R/!SEMS>62HO")M2Y3?)#B$Z!SC4H&*FGB18MTV
MQ4#@2@J>M6+[-9E]!A]?OW5$4+01X;P)/T=&PIOKQ?P3WO3[,R)XY1A(50=:
MUM&64: "<E0#T6YXVB^W\AD<W'_G.,&N85!P-"_'[*%9HQ>+.L5XXH3W1A5'
M@.4$7906(DL"A$Z&2T&\V&\^Y.:)VT%QFR_NS8F[?=\XL:'VDC^2@Z/W35U.
MPYL_T]5UGL[>O_XPG84M<&/FS)6(@)P,*96= >]2)/1Z;KU0"?F#4/JNUJD[
MWC!.Z&4 P3=C8P\1OL?-ZI]O\X>X(>LHE@P8G*W):KGV!#;T94DB)!YL:MY[
MX1F:1DZ^;^V(#"**#J#UC-=_NWMJ=QWZ+_\>_ISP4'@NU>^7M9%QK.,@R&X"
MXEL),>EHFC?K/8+,+CWA(W%R6([-R4*[[ CRS1UDN+N#/$,L^8FWGC&JO._:
MSQQ?5LYXU)C!2M*S2FD'SH4$C(E@#">X^]9UJ&>*+S>_+5^?4*@],[K8VC&W
MEDL8!J0JR%9ECD6)/DK1>AKP( NYC(CV(>@</%OB8/F/'*/8KN'M8KN"=?S.
M!T8G2J@3HDJAPR9E"#Y&D(P+;J0HHK2(@C_V[G$AUP$<Y@UETP>V[C-DZQ(6
M*4P,DFU[ZC%/6S:Q:L+SA&0^!6/W2K+9#V#?$C!>?/1TF7X+D!,9/':TY+<5
MF3MAD1\Q?K;^/AKD*FL.1FCB3^8"/$8+M*L<0^>4C^HY0W"_5XT.C%-E.1^,
ML6/#Y-6G3U?33?'?;Y\P3<LTW2C?W^97U^N*P=L!A;'$3": K_,%E.<9//,1
M2LFU7Z>V2KF]\++_.\>+M0\ G(%8W4&\Y-!C_<[AC^37*R$+,%^#T-X:B"('
M8-JR&)Q2Q(;&-OW1Q(X;O.O'B#JOU#N ]S&1)2M4*$YI<$43=T-RM5(:P0;F
MO<\E*=VZZO?BPH%G E"#..$ATKR4..&KG-?_#U?WN-\T)OCD&P:)_^V_IC/'
M^G+V+-J\[H>E0 D1ZH F!1%E-%(%K]V%YI*^#I^FJW U_6_,-Z]Y/5^N?ES,
ME\M)]G2&B"!!.%I[K90E2Q@%V,R#R":'HEL?[T_1<QF1MT.P\E"Y-9/&I6BQ
M&[-H7FZK6,K]*I:F"FW?EPVBVXY:Z9G5G!->,SH>(?)LR*8T#H(T&I .4*95
M++;Y[/<SJ;G[-5+?SZ_CJEQ??5M)]6Y^=45"^5=8Y ECJ%UQ'% RVFTVUB)7
MR<&2;6*R42'*YB5OAQ)Y&0KQ$%1]4^TVJ-PZ<$[V6R Y>EEAX)[.DZ!)]VL/
M,1ER]&KK"FDU1M^ZOFT_RL:%X,#P. J,!\GJ: 1^PL5TGG];A<7JC#C\QV*Z
MPCI'9>*R=9Y+!R8407S,L78Z$6 TXS*CE:[Y[?>!)(X;[^D1F<=);_P9.#<#
MX_>J>]YV5GSS9_I0BT_?$0FO\O^E,ZDF8DZL]9QS7Z D4],N2X%H3($@=$G:
M)*ETW"\(WH*<<:O5SP/1D81W.4>[BE&MHU_H,^U%X<A?)()!1E<4]PZY:#VY
MI>'1/EC%>H\*]"!9G7BTOYGE\[GA#TKWMY-7VI:K/_..09SN0]9U9E^;P(I1
M, T9F24H&490HG,X<Z8D&A%9\^FJ9_*U_S;_O*Z _.DA^^MF_6&[66U4MK#$
M(>1(F]7("%XR UH;ST.*2N36+1WWH>LR/.I#L/-0TS673@<G[8.53+QC-2T\
M@<':AM$7"R&@(3<L!6F-CB&W'XOX%0GCXJB]C)]N]7(0P[MQ>1\>#MO+I^4D
MD!L4G92066V3K9VG[>41LDT^1$]<&F F^^.TC.O$GAM'QXF@/P7TM2'RWYAY
M[8:-M!<07$@:E P>O%4)F FDS)-$9=J/NGZ&J''=SW.#ZT2A=!(&>;"H!W,D
M;ASG>TZS0ZN491X,+8J\(B4AZ! @1L'1J^S%P\YH.R(>A[YY7/=Q,'0-+X7^
M]-F$5*^,+'O@'FOS[-K+7Y?:Y5)KKC&S6%HG AQC4 TVX?SL!M4A#.\WT/#;
M:I[^^5U8UFR&CY]PMEP_[\V?]=,'"5?[116>?F"#$,(!%+<:^GS;&?%MN?_.
M]<"72L9RM?SM Z$T5JI^#5\V4W)OYY<;825J"X*.K)K.; A^R$$4;U";8,M^
MG98.JY(_@>*3BQ/KDS_,KVC#+]_\U_5T]:5FQ=9O?G?_=7=M)J/RT=?*>%%J
M;QRG.#AA/!0?(]F53&:,C3ET*(VCEW6?"X'?5!H.*<P^<Z">U##'SUK8Y[%#
MZ\<!)S"<BE%T6>N@( 6?01%:8'VZTJ_[6,<(17QA6O*VW.!N-]VG8BW'MY_6
MSO9-5/Q!Q^BLI7)U-_LH:TPGD0N>9()@!*]]9ARJX>JUCZ7ZLC7I 2C=7;-]
M%H%WX*,\MN(M2U]5>_S^BO\>KJXW*%@NKS]NOO>P07HJFA6&P%.J-0+HJW,F
M(2L3>0F61]/Z0J+M"D9O3M03],\$A*ZVP2_SV6=<KJH325R=)OILO?0_9M/5
MKCV?O(JECNC.B F41E?'Z GP02=T7%C%AD/]$02//*JS!Y /+>8^,?TK+M85
M0;.TV>!/K18Q*"-H\W)9\X2<,N",S. B9\:+H((9;C;/,12/&RKM"]5#";HK
M6+\AEV[^!7%;S?NXR59SDM)MJ[6;6XM?UT&[M5#N&,&DEYJ;VO"W%CAR:\%Y
M+JHC+DPV@39X:_]FL,6,&^GM8C.,"8^C]\EG7,3Y2'&3$Q+5]GKNT)&3(1/2
M3D2T=K'HH L$\@'KW%0!CD4!AL=03,DVIM;IJ7V'3NY--5I^]^5QEV/3G2%E
MI82W"$DE 2H;8AU:\J]5UDX5Q=. 6OE$XB\ZD'((9@\-I PC_I&;DKU;7U?7
MKENU1%E+,JFRMH$\!:7!Z_65M7,EB.2EW*O2_9DF9+<O[*6UW5F%/3^5\SW
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
M_;M[DS833^B=BY"0<SJHC"*'@?P'4[C4AB>/H?4PY6%6<M%=E@]!<^N4^P;
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
M7%;A_#!=/$@7V2^L_M7?-PBC[Z;GQ+#Y.G_^KM/571@S2XV1,W)ELP]T0NL
M/F@&)5L>G401Q'[5,(\\_+2B5V+%&HAWS[U+_\G:,\L)^SP8!BJK7)%GP7(C
M2BY.LQ+WHOJIMXRC(9I(ZNOBUE:<['\/GW!#]MAC&N_H(>[#=L/%2<XQ1S!2
M6E#",@AH#'C&O9*R6,OS*!O[QP6QY!%,+B>.? S'3 !C!"$<G0/'ZCC82/:;
M$2H:G?8B>><K>MO2!\CHJRW=AH<=V* _S6K'Q?GBRS_(!"%/]%^SB4_)!5:;
M?O+J,V:1P9?(@$=C8N)%.=Z^1>%#*L;QB)H"I1&+.P#)NNO<3Q\_A>FBVL&O
MR01]7VN>8L3 BJMI'76T$=<0DS+T(4A/UC%7KG7?@L<I&2>P,PA8&K"Z \"\
M6:ZF'\,*\T^SY?6B1J5J<YC/N*BE<EQ:%"[RJA*KALP"G$D<,@^<-D6RG(G&
ML'F*GG$ZGPX"GF9L[P!"CQZN*:K,$CK 4#-OO6+@'+.D1AUGI$8YNM;0.=J*
M:5X2.PAD3F9SPP3GIE[);]=QB?]U30]:]Y0^RB7YYAD-_)&GZ6J4G/?P)7=0
M\1J=UQR*S.1M,I?JG7D=OI*RB*A#-JV+*G;1<O)=P8/GWKG47EE6K.%@PCH*
M[>I6H.TA+-;<4Z71-K\"V$7,R%'.%CCX)E#?A/%]QC(>KNV$>,:N1PV@0X;,
M\]T)(2UUG?A.IPXK6,<3*G"H$Q2A*GQ85KFU]7\F5;*YR_+"%2:9!ZYTJ:=J
M 7+;&&AFLM4,$Z;6Z8R/T=&I CE$^L\HD,/9W8%Y^G -]&?KS#2;+5I1!$AE
M/2BE BW#,XC<.C1"9J%:%^_M(*4KX!PAXV= <PS#^\3--OTC9:XS1D.F=E"U
MP66L-=P<R&D++,7 @FY=-[&3F+ZP<Y2HGX?/$7SO#T#;/)^0 F,\9+#1:U!%
M!W!!Q'J5)+U0(MK4O'_"8X1T!YQCA/PT=([@>'^P^?DVBR&91,=X<)!H#:23
MO8# D99E&.EFR8-[<A)I ^3\W$D6U, GUG$L[P Z==;S?+;.3/U^^GF:R:NX
M343Y'M,5_2]/K'?*<%++(?!8K[U(+6N%0,N,S-1VWKYU9&X?NKK21T<B8#ZP
M.(;WQ+<_J!]B6.+____]/U!+ 0(4 Q0    ( ."  E5@N^-E, @  /<L   :
M              "  0    !A-S,R,#(R+3$P<7AE>&AI8FET,S$Q+FAT;5!+
M 0(4 Q0    ( ."  E7G#!C"/0@  !HM   :              "  6@(  !A
M-S,R,#(R+3$P<7AE>&AI8FET,S$R+FAT;5!+ 0(4 Q0    ( ."  E4(87EE
M704  /0=   :              "  =T0  !A-S,R,#(R+3$P<7AE>&AI8FET
M,S(Q+FAT;5!+ 0(4 Q0    ( ."  E7;[--%>@4  -D=   :
M  "  7(6  !A-S,R,#(R+3$P<7AE>&AI8FET,S(R+FAT;5!+ 0(4 Q0    (
M ."  E6#M5*0Q?4! ,D?&  1              "  20<  !C9VYX+3(P,C(P
M-S S+FAT;5!+ 0(4 Q0    ( ."  E6.>S46Q!$   [!   1
M  "  1@2 @!C9VYX+3(P,C(P-S S+GAS9%!+ 0(4 Q0    ( ."  E5A+M/
M;2$  )-2 0 5              "  0LD @!C9VYX+3(P,C(P-S S7V-A;"YX
M;6Q02P$"% ,4    " #@@ )5##;2 49+  #M;0, %0              @ &K
M10( 8V=N>"TR,#(R,#<P,U]D968N>&UL4$L! A0#%     @ X( "58N9,8P]
M]0  :RH* !4              ( !))$" &-G;G@M,C R,C W,#-?;&%B+GAM
M;%!+ 0(4 Q0    ( ."  E4(O8$7XX\  )35!@ 5              "  92&
M P!C9VYX+3(P,C(P-S S7W!R92YX;6Q02P4&      H "@"J @  JA8$

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